質問
- 無料版と有料版におけるSSI(PHP)の違いについて
-
本文:
ウエブクロウプラスにてHPを公開するにあたって困っていることがあります。
もしご存じでしたらご教授いただけないかと思い
掲示板に投稿させていただきました。
とあるHTMLファイル(home.shtml)内にPHPでSSIを
組み込むことを検討しておりますが、上手くいきません。
呼出方は下記の通りなのですが、
<div id="blognews">
<div class="space">
<!--#include virtual="xxxxx.php" -->
</div>
</div>
実行するとブラウザ上では
[an error occurred while processing this directive]
というエラーとなってしまい上手い具合にはいきません。
xxxxx.phpの中身は下記の感じです。
<?php
echo "<p>include</p>\n";
}
?>
「xxxxx.php」単体でブラウザー上から呼び出した場合、
真っ白な(当然?)画面となり、問題無くPHPは実行されているのではないかと
考えています。
元々、無料版のウェブクロウで問題無く、特別な設定もせずに
動作していたので、ウェブクロウプラスへもそのまま移行できると
考えていましたが、上記のような状態だったので、サポートに問合せをかけましたが、
無料版で動いていたものが有料版でも動くとは限らないという回答があり、
困っております。
無料版で動作確認して問題無いと判断し、有料版への移行を行ったのに残念です。
こんな状態なので別のレンタルサーバにすることも検討していますが、
もし同じようなご経験をされて、何らかの回避策等をお持ちであれば、
是非ご教授いただきたいと思います。
PHPファイルの呼出方、Permission、PHPファイルの中身など色々と原因があるかもしれませんが、
よろしくお願いします。
- 緊急度:通常投稿者:Poodleさんさん投稿時間:2014/05/31 12:56
回答 No.2663
-
本文:
絶対にSSIでなければいやだというのでなければ、
<!--#include virtual="xxxxx.php" -->
でなく、
<?php include("xxxxx.php"); ?>
とした方が、素直。 - 投稿者:ジョバンニさん 投稿時間:2014/05/31 15:15
質問者からのコメント
ご回答ありがとうございます。
助かります。
SSIでなくても良いと思ってます。
ただ無料版で動いていたものが有料版で動かないということが
どうも納得できていません。
アドバイスいただいた方法を実施してみました。
結果は、先のエラーは回避できましたが、
呼び出し先の内容は表示されない状態です。
もしかしたらPHPの内容にも問題があるのかもしれないので、
こちらは今調査しています。
回答 No.2664
-
本文:
■
>[an error occurred while processing this directive]
というエラーになってるので、
まずは、エラーメッセージどおりなのでは?と思いますが・・・。
virtualの場合は、絶対パスも可能なので、
きちんと指定してみればよいのでは?
■
>「xxxxx.php」単体でブラウザー上から呼び出した場合、
上記のコードでは、真っ白にならずに
include
ぐらいは、ブラウザに表示されるだろうし、
またHTMLソースをみれば、
echo で出力したものは見えるはずだと思いますが・・・。
>問題無くPHPは実行されているのではないかと
PHP中でファイル出力するなど、確実に動作しているという確認をして消去法的に確実に消していかないと、原因はわからないかと思います。
PHPに問題があっても、
[an error occurred while processing this directive]というエラーとは関係ないですよね?
まずは、SSIで指定しているファイルを呼び出せてないというエラーだとおもうから。
- 投稿者:k-tanさん 投稿時間:2014/06/01 02:45
回答 No.2731
-
本文:
平素はネットオウルをご利用いただき誠にありがとうございます。
ネットオウル運営チームです。
本ご質問は一定期間新たな回答がなかったため
運営チームで締め切らせていただきました。
■質問の締め切りについて
Q&A掲示板はユーザー様同士の交流掲示板です。
回答がもらえた場合、回答者へお礼コメントをしましょう。
問題が解決した際にはベストアンサーを選び、
質問を締め切ってください。
■再度のご質問について
ご質問が未解決の場合、「ワンポイント!」を参考に、
再度質問してみてください。
【ワンポイント!】
メールやFTPの設定がうまくいかない場合、
ネットオウルIDやサーバーIDなどのお客様情報を公開しない範囲で、
現在の設定内容を出来るだけ詳しく書いてみましょう。
設定内容のミスを指摘してもらえるかもしれません。
エラーが出てうまくいかない場合、
エラーメッセージの内容を書いてみましょう。
エラーメッセージにはエラー原因が詳しく書かれていることが多く、
問題の解決につながる回答が得られるかもしれません。
■ベストアンサーについて
ご質問の締め切りに際して、運営チームにて
ベストアンサーを選んでおります。
※ベストアンサーの回答者様には通常と同様のポイントが
付与されています。
--ネットオウル運営チーム-- - 投稿者:ネットオウル運営 投稿時間:2014/06/18 09:34
回答 No.2666
この回答がベストアンサーです
> SSIでなくても良いと思ってます。
> ただ無料版で動いていたものが有料版で動かないということがどうも納得できていません。
k-tanさんも指摘していますけれども、
> xxxxx.phpの中身は下記の感じです。
<?php
echo "<p>include</p>\n";
}
?>
が本当だとすると、無料版でも動かないと思いますよ。
「}」の部分で、文法エラーになるはずだから。
( <?php include ... ?>でも同じ場所でエラーになることは変わらない )
SSIでphpを取り込むのはいろいろ設定をしないといけない部分があるし、ウェブクロウのSSIは、『 #exec を除く』という制限もついているので、#execと同等のことをしようと思うと、何らかの制限に引っかかる可能性は高いと思ったほうがいいですね。
期待通りの出力が出ていないとしても、出力されたソースをみると、インクルードしようした部分だけが抜けて表示されているのか、その部分でエラーになってそこから後ろが無くなっているのか、それとも全体がエラーになっているのかの区別くらいはつくことがあるし、運がよければ、もう少し詳しいエラーメッセージがソースファイルの方には含まれているかもしれない。
デバッガ(firefoxなら firebugのようなプラグイン)を使うとかなり詳しい情報が得られるので、プログラムを作る立場の人なら一度デバッガを使ってみることをお勧めします。