dポイントプレゼントキャンペーン実施中!

自分のパソコンでPHPの勉強をしていますが
悪戦苦闘しています。

http://localhost/にアクセスすると
「予想に反して・・・」が表示されます。

C:\Program Files\Apache Group\Apache2\htdocs\phpinfo.phpには

<?php
phpinfo();
?>

と書いたスクリプトがあります。

http://localhost/phpinfo.phpにアクセスしても
「ページが表示できません」にもならず、
現在のページがそのまま動きません。
一瞬、何かをダウンロードするような画面が見えますが・・・。

http://localhost/phpinfo.php
が見えるようにするにはどうしたらいいか教えてください。

OSはXPPro(IIS自動起動停止済)
Apache2.0
PHP5(Cドライブ直下にphpフォルダ内に設定)
参考書籍は「実戦マスターPHP+MySQL」ソーテック社
ウィルス対策ソフトはウィルスバスター2008

php.iniはWindowsフォルダにあります。

A 回答 (12件中1~10件)

そのヘッダーからすると問題なくPHPは動いているようなので、ブラウザの問題では無いかと思いますが



では 次の内容のfileを 01.php と名前をつけて設置してアクセスしてみてください
## 01.phpの内容
<?php
echo "<HTML><PRE>\n";
print_r($_SERVER);
echo "</HTML>";
?>
##以上迄

Array
(
   [HTTP_HOST] => localhost から始まる環境変数一覧が表示されませんでしょうか?
もし、これが正常に動けば phpinfo() が見えないのは間違いなくブラウザの問題です

どっちみちwebコンテンツ制作に係わるなら 複数のブラウザで表示確認した方が良いので
http://mozilla.jp/firefox/ よりFireFox をダウンロード&インストールされた方が良いかと思います
で、現在MSIEをお使いなら
IE7なら ツール>インターネットオプション>詳細設定> 下の方にある [リセット(S)]ボタンを押す とオプション設定が初期化されますのでphpinfo() も表示されるのではないかと思いますが
IE6なら http://support.microsoft.com/default.aspx?scid=k … の「Web の設定をリセットする」
    • good
    • 0
この回答へのお礼

お返事が遅くなりごめんなさい。
返答内容の実施もほったらかしでした。

IE6なら ​http://support.microsoft.com/default.aspx?scid=k …​ の「Web の設定をリセットする」

で解決しました。
FireFoxでもやってみます。


ありがとうございました。

お礼日時:2008/07/28 22:36

ドキュメントルートの問題では、ないかと思いました。


そもそも、
今、PHPのファイルを入れているディレクトリに、
http://localhost/hoge.html
で表示されますか?

もしかしたら、1からやり直した方が早いかもしれないです・・。
ウィンドウズ上でのapache,PHP,MYSQLなどの環境構築を調べて。。

参考URL:http://www.yc.musashi-tech.ac.jp/~yamada/doc/win …
    • good
    • 0
この回答へのお礼

hoge.htmlを作ったら表示できました。
ありがとうございました。

お礼日時:2008/07/28 22:37

状況が今ひとつ不明ですので #7さんも書かれていますが


1.HTTPヘッダー の上から4行まで
2. エラーログ
 の内容を補足してください

1.については
 A. #7さんの書かれた方法だとFireFoxをお使いなら
  http://blog.webcreativepark.net/2007/10/06-11120 …
  インストール後 「ツール」>Live Http Headers>窓が開いたら http://localhost/phpinfo.php にアクセスする

 B.または windowsのtelnetで行う方法
  スタート>ファイル名を指定して実行> telnet と入力して OK を押す ウィンドが開いたら
Microsoft Telnet>open localhost 80 <=と打ってEnterキー
接続中 localhost..... と表示されたら
HEAD /phpinfo.php HTTP/1.0 <=文字が重なって入力しにくいですがこの通りに打ってからEnterキーを2回押します

結果
HTTP/1.1 200 OK  <=A.の方法だと 1.1が1.Xになります
Date: Sun, 13 Jul 2008 05:46:10 GMT
Server: Apache/2.2.9 (Win32) PHP/5.2.6
X-Powered-By: PHP/5.2.6
以下略

 このサーバーから返された httpヘッダーの上から4行を補足にお書きください。

2.エラーログは Apache2.2系の場合なら
C:\Program Files\Apache Software Foundation\Apache2.2\logs にある error.log です
 (apache2.0系ならパスは適当に読み替えてください)

http://localhost/phpinfo.php にアクセスしてから error.log を開き
該当すると思われる5行ほどを補足に貼り付けてください
 (固有名詞が含まれる場合は ****などに置き換えてください) 

#### あと 判ると思いますが一応 #2 と #6のパスを正確に書き直します
phpをインストールしたのが C:\php フォルダならば
apache2.0系なら LoadModule php5_module "C:/php/php5apache2.dll"
Apache2.2系なら LoadModule php5_module "C:/php/php5apache2_2.dll"
です。

この回答への補足

>このサーバーから返された httpヘッダーの上から4行を補足にお書きください。
HTTP/1.1 200 OK
Date: Sun, 13 Jul 2008 14:50:01 GMT
Server: Apache/2.0.63 (Win32) PHP/5.2.6
X-Powered-By: PHP/5.2.6
Connection: close
Content-Type: text/html

補足日時:2008/07/13 23:51
    • good
    • 0
この回答へのお礼

エラーログです。

[Sun Jul 13 14:24:32 2008] [error] [client 127.0.0.1] File does not exist: C:/Program Files/Apache Group/Apache2/htdocs/try1
[Sun Jul 13 20:01:12 2008] [warn] pid file C:/Program Files/Apache Group/Apache2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Sun Jul 13 20:01:15 2008] [notice] Apache/2.0.63 (Win32) PHP/5.2.6 configured -- resuming normal operations
[Sun Jul 13 20:01:15 2008] [notice] Server built: Jan 17 2008 22:58:29
[Sun Jul 13 20:01:15 2008] [notice] Parent: Created child process 960
[Sun Jul 13 20:01:16 2008] [notice] Child 960: Child process is running
[Sun Jul 13 20:01:16 2008] [notice] Child 960: Acquired the start mutex.
[Sun Jul 13 20:01:16 2008] [notice] Child 960: Starting 250 worker threads.
[Sun Jul 13 23:02:59 2008] [error] [client 127.0.0.1] Invalid method in request HEA\b\b\b\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C\x1b[C
[Sun Jul 13 23:10:38 2008] [error] [client 127.0.0.1] request failed: error reading the headers

お礼日時:2008/07/14 00:24

#8の回答者の方の補足ですが、


「あなたの予想に反して、このページが見えているでしょうか?」のページは、
Apacheのドキュメントルートに最初に置かれているindex.htmlです。
Apacheのインストールが成功したら表示されます。
文章は、Apacheのジョークです。
(Apache2.2からは「It works!」だけになって寂しいですが…。)
    • good
    • 0
この回答へのお礼

>「あなたの予想に反して、このページが見えているでしょうか?」のページは、
Apacheのドキュメントルートに最初に置かれているindex.htmlです。

認知済みです。
ありがとうございました。

お礼日時:2008/07/13 23:01

> ​

http://localhost/​にアクセスすると
> 「予想に反して・・・」が表示されます。

原点に立ち返りますが、「予想に反して…」に続いては
何と表示していますか?
確か、Apacheのインストールを正しく行なっていれば、
当該画面を表示することは「正しい」のではなかったでしょうか。

当該画面の意味は、「Apacheをインストールしていないのに、
予想に反してこの画面を表示しましたか?だとすると、どこかがおかしい」
くらいの意味ではなかったでしょうか。
    • good
    • 0

解決方法ではありませんが…、



・phpinfo.phpにアクセスした時のApacheのログ(アクセスログ、エラーログ)を確認する
・FirefoxのLive HTTP headersなどでHTTPレスポンスを確認する
 ⇒X-Powered-By: PHP/5.2.x になっているか
 ⇒Server: Apache/2.0.x (Win32) PHP/5.2.x になっているか

何かヒントが見つかるかも。
    • good
    • 0
この回答へのお礼

ログってどこで取得するのでしょうか。

あとFireFox使っていません。

お礼日時:2008/07/13 23:00

#2です


結論から先に言うと #2に書いた 3.4.を再確認してください
行頭に# が有ったり<=コメントとみなされる
また特定の<Directory "">~~</Directory>コンテナ内だと、そのディレクトリにだけ適用されます
Directoryコンテナ の外であれば 全体に適用されます。

>再起動しても変わりませんが
おかしいですね
こちらの環境は apache2.2.9 OPENSSL c:\php(php5.2.6)ですが
試しに #2に書いた4つの条件を一つづつ外してから
http://localhost/~tarou/info.phpにアクセスしてみると、、
1.php.ini をc:\windowsから除去(c:\phpには有ります)=>問題なく表示
2.c:\windows\sytem32からphp5ts.dllを除去=>問題なく表示
 う~んん少なくともApache2.2.9だと 1.2.は関係ないようですね
3.LoadModule php5_module "C:/php5/php5apache2.dll"
  ↓
#LoadModule php5_module "C:/php5/php5apache2.dll" とコメントアウトしてからApache再起動
  この場合は PHPのソースがそのまま表示される(<=FireFOXの場合 MSIEだとHTML文として表示される)
4. 3.を元に戻してから AddHandler application/x-httpd-php .php の行頭に#をつけて無効化
 この場合も ソースがそのまま表示されます

それから
>3.は、パスを""で囲む必要があるのでしょうか。
この場合は囲まなくてもどちらでもいいです

囲まなくてはいけないのは パス指定のときに 空白のあるフォルダ名の場合
例えば "C:/Program Files/" なんてのを指定する場合は ""で囲んでいないとエラーに成ります

あと一応念のためですが Apache2.0と書かれていますが Apache2.2じゃないですよね?
2.2系の場合は LoadModule php5_module "C:/php5/php5apache2.dll" ではなく
LoadModule php5_module "C:/php5/php5apache2_2.dll"
を指定しないと駄目です。
    • good
    • 0
この回答へのお礼

<Directory "">~~</Directory>の
所は意識していませんでしたが、
ご指摘いただいた記述はタグの外でした。

最初はApache2.2でやっていましたが、
業を煮やして2.2をアンインストールしてから
2.0を再インスト-ルしました。

パスの件は常識的に考えればよかったですね。

しかし、まだ表示されない現象は改善されません。

ちなみにIEは6.0.29
OSはWinXPProのSP2です。

お礼日時:2008/07/13 08:29

#4の者です。


きっと、両方が目的なのでしょうね。
xamppで安直に環境を作った自分の出番はここまでです。
失礼いたしました。
    • good
    • 0
この回答へのお礼

今後、業務で開発をするにあたり、
便利なツールばかりに頼ると、
トラブル対応時にどうすればいいのかわからなくなります、
という意味だったんです。

お礼日時:2008/07/12 23:57

> あまりにも便利なツールは使っても


> 勉強になりません。

ApacheやPHPの設定を勉強することが目的なのですか?
それとも、細々とした設定はxamppあたりに任せておいて、
PHPとMySQLを利用したWebアプリケーションを作成することが目的なのですか?
    • good
    • 0

お使いの本には載っていないかもしれませんが、


 ・Apache
 ・MySQL
 ・PHP
 ・その他、管理ツールなど
を一つにまとめた xampp(ザンプもしくはエグザンプ)という
便利なパッケージがあります。

参考URLからWindows版をダウンロードして、実行するだけで
環境が整います。
個人が勉強に使う分にはじゅうぶんでありましょう。

参考URL:http://www.apachefriends.org/jp/xampp-windows.html
    • good
    • 0
この回答へのお礼

存在は知っておりましたが、
あまりにも便利なツールは使っても
勉強になりません。

教えていただき、ありがとうございました。

お礼日時:2008/07/12 23:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!