• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでのCGIの読み込みが機能しない原因)

PHPでCGIの読み込みが機能しない原因

このQ&Aのポイント
  • PHPでCGIのデータをHTMLに読み込んでいますが、下層ページには何も表示されません。
  • 掲示板の最新投稿を読み込むCGIソースが正しく動作していない可能性があります。
  • 下層ページでCGIのデータを読み込む際、パスやファイルの指定に誤りがある可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • tomaju
  • ベストアンサー率76% (84/110)
回答No.4

そしたらですね。 (B) .html のファイルも PHP のファイルとして処理するように、 Webサーバーの設定を変更するのを試してみましょうか。 トップページのあるフォルダに .htaccess を作成し(既存なら追記で) 以下を書いてみてください。 AddHandler php5.2-script .html サーバーで動いているPHPのバージョンが5.3の場合は、 以下のようにする必要があるかもしれません。 AddHandler php5.3-script .html もしもPHPのバージョンが4の場合は以下のように書けばいいようです。 AddType application/x-httpd-php .html 参考URL: ロリポップ|PHPが使えるレンタルサーバー HTML上でPHPを認識させるには http://36ph.org/lolipop.html phpをhtmlで読み込む。ロリポップ http://nekonote1pasapas.blog104.fc2.com/blog-entry-26.html

yotsuya33
質問者

お礼

教えて頂いた.htaccessの変更で解決致しました! ありがとうございます。 tomajuさんをお気に入りユーザーに登録させて頂きました。 PHP関連でまた質問する事もあるかと思いますが、その時はよろしくお願い致します。 本当にありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • tomaju
  • ベストアンサー率76% (84/110)
回答No.3

> トップページ「'http://〇〇〇.com」上ではきちんと表示されますが、 トップページのファイル名の終わりは .html ですか? .php になっていませんか? (例: index.php ) > 下層ページ「'http://〇〇〇.com/〇〇〇.html」では空欄になります。 ブラウザで見たときに、ページのソースを表示するとPHPの記述が そのまま表示されていませんか? 一般に、ファイル名が .php とか .phtml で終わっていたら PHPのファイルとして処理するようにWebサーバーに設定してあります。 その場合 .html のファイルにPHPのコードが書いてあっても実行されないです。 推測が当たっていれば次のような対策が考えられます。 (A) 〇〇〇.html のファイル名を〇〇〇.php に変えて、 http://〇〇〇.com/〇〇〇.php でアクセスするようにする。 ※URLが変わってしまうのでNGかも (B) .html のファイルも PHP のファイルとして処理するように、 Webサーバーの設定を変更する。 また、PHPを使わない対策も考えてみました。 (C) iframe で表示する <iframe src="http://〇〇〇.com/bbs/〇〇.cgi"></iframe> (D) JavaScript で表示する 例えば jQuery を使うとこんな感じでいけるかと思います。 <script type="text/javascript" src="/js/jquery-1.6.2.js"></script> <script type="text/javascript"> $.get('http://〇〇〇.com/bbs/〇〇.cgi', function(data){ document.write(data); }); </script> ページのURLと、CGIのURLのホスト名(〇〇〇.comの部分)が違うと動きません。 jQuery のライブラリ (jquery-1.6.2.js) は、配布元から入手して、 Webサーバーに置いてください。 http://docs.jquery.com/Downloading_jQuery Google がホストしているものを使うでもよいです。

yotsuya33
質問者

補足

>>トップページのファイル名の終わりは .html ですか? >>.php になっていませんか? (例: index.php ) ↑ .htmlです。 >>ブラウザで見たときに、ページのソースを表示するとPHPの記述が そのまま表示されていませんか? ↑ご指摘の通り、ブラウザ上では空欄ですが、ソースで見るとPHP記述がそのまま表示されています。 ご教授頂いた方法の中で、(D)の方法を試してみましたが空欄のままでした。 コアサーバーからロリポップサーバーに移行したのですが、コアサーバーの時は全ページに表示されていました。ロリポップに移行後トップページ以外は表示されなくなったのです。ヘテムルサーバーでもトップページ以外表示されませんでした。 何かお気づきの点がございましたらご教授お願い致します。

すると、全ての回答が全文表示されます。
noname#138894
noname#138894
回答No.2

http://〇〇〇.com/〇〇〇.html だと、HTMLそのものを読みに行っているので、 PHPは動作しません。 http://〇〇〇.com/〇〇〇.htmlは何が表示されることを期待されていますか?

すると、全ての回答が全文表示されます。
回答No.1

そもそも、なぜ、PHPでCGIを呼び出すのでしょうか? CGIを直接実行した方が良いのではないですか? そして、CGIを直接実行したときにはちゃんと表示されますか? まぁ、それは置いておいて…… 最新データのあるHTMLそのものが最初から空欄なのでは? 先ほどのPHP&CGIは、ログのリストから、 HTMLのリンクを貼るだけのソースですね。 bbs.cgiで、htmlの生成はされているのでしょうか?

yotsuya33
質問者

補足

生成されています。 全ページのサイドメニューにPHPを記入し読み込んでいるのですが、トップページではきちんと読み込めているのです。下層ページだけ空欄になります。 よろしくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A