apache2.2とphp5の連携がうまくいかない

このQ&Aのポイント
  • apache2.2とphp5の連携がうまくいかない。ブラウザからは404エラーが表示される。
  • 問題の解決を試みるために、必要な設定を行ったが、うまくいかなかった。
  • 説明不足の場合は質問してほしい。
回答を見る
  • ベストアンサー

apache2.2とphp5の連携がうまくいかない。。

山田 和夫著 「基礎からのPHP」で挑戦していますがうまくいきません。apacheはしっかり起動していますが、ドキュメントルートにtast.phpを作ってもブラウザからは404で表示されます。なるべく細かく書くつもりなのでご教授お願い致します。 OS windows XP homeEdition ブラウザ firefox2 ■C:/Programfiles/php5/php.ini-dist をphp.iniに変更し修正,470行目辺りに追加  ; Windows: "\path1;\path2"  ;include_path = ".;c:\php\includes"  include_path=".;C:\Program      Files\PHP5\pear;c:\ProgramFiles\php5\includes" 494行目辺りにコメントアウトと追加  ; Directory in which the loadable extensions (modules) reside.  ; extension_dir = "./"  extension_dir = "C:\Program Files\php5\ext" 600行目辺りにコメントアウト  extension=php_gd2.dll  extension=php_mbstring.dll  extension=php_mysql.dll  extension=php_pdo.dll  extension=php_pdo_mysql.dll 1200行目辺りを修正  [mbstring]  ; language for internal character representation.  ;mbstring.language = Japanese  ; internal/script encoding.  ; Some encoding cannot work as internal encoding.  ; (e.g. SJIS, BIG5, ISO-2022-*)  mbstring.internal_encoding = SJIS ■C:/Programfiles/apache softwarefoundation/apache2.2/conf/httpdの LoadModule の最後に追加  LoadModule php5_module "C:\Program Files\php5\php5apache2_2.dll"  PHPiniDir "C:\Program Files\php5" 210行目辺りに追加  <IfModule dir_module> DirectoryIndex index.html index.php  </IfModule> 450行目辺りにコメントを外す  # Language settings  Include conf/extra/httpd-languages.conf ■C:/Programfiles/apache softwarefoundation/apache2.2/conf/mimeに 追加  application/x-httpd-php php ■C:/Programfiles/apache softwarefoundation/apache2.2/conf/extra/httpd-languagesを修正 19行目辺りを変更  DefaultLanguage ja 末尾に追加 AddDefaultCharset shift_jis 以上作業終了後apache2.2を再起動しドキュメントルートにtest.phpを作成しブラウザからhttp://localhost/tast.phpへ。。しかし404 apacheはしっかり起動しています。 お手数ですがご教授ください。 尚、説明不足の場合は質問ください、すぐ答えますので。 宜しくお願い致します。

  • PHP
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
  • yan1234
  • ベストアンサー率100% (1/1)
回答No.1

どうもです。 いくつか確認させてください。 1.DocumentRootはどこに設定していますか?   (httpd.confのDocumentRootの設定ディレクトリ) 2.上のDocumentRootにただのHTMLファイルを置いて正常に   ブラウザから参照できますか? 3.書き間違いかとは思いますが、"tast.php"と"test.php"の   2つのファイル名が混在しているようですが、問題ないですか? 以上

yatto0202
質問者

お礼

yan1234様 お世話になります。 解決いたしました。 情けないことに原因は、ドキュメントルートへの保存がtest.php.textでした。イージーミスすぎで反省しております。 yan1234様ありがとうございました^^ PS. 私プログラミングは初心者でPHPからはじめようとしている者です。 これから先わからないことなどでてくると思いますが、メンターなるものがいません。是非yan1234様にメンターまでとは言いませんが、プログラミング友達みたいな感じでお付き合いできれば幸いと考えています。私、まったく怪しいものではございません。24歳の青年でございます、仕事はIT関連ではないのですがプログラミングの魅力に引かれて勉強しております。

yatto0202
質問者

補足

yan1234様 回答ありがとうございます。早速ですがお答えさせてもらいます。 1.C:/Programfiles/apache softwarefoundation/apache2.2/htdocs ドキュメントルートは初期設定のまま変更はしていません。 2.htmlでも404表示です。http://localhost/のIt works!は表示されます。 3.失礼いたしました。教えてgooへの記入ミスです。 ソースコードの見直しチェックは何度もやり駄目でしたので、PHP,Apacheをアンインストールし最新のPHP5とApache2.2をインストールして挑戦したいと思います。 ではご教授お願い致します。

その他の回答 (1)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

/index.html はOKで /test.php が404てのは謎ですね。 Apacheディレクトリのlogs/error_log の中に、 見に行っているパスが保存されているので確認してみてください。

yatto0202
質問者

お礼

tany180sx様 お世話になります。 解決いたしました。 情けないことに原因は、ドキュメントルートへの保存がtest.php.textでした。イージーミスすぎで反省しております。 tany180sx様ありがとうございました^^ PS. 私プログラミングは初心者でPHPからはじめようとしている者です。 これから先わからないことなどでてくると思いますが、メンターなるものがいません。是非tany180sx様にメンターまでとは言いませんが、プログラミング友達みたいな感じでお付き合いできれば幸いと考えています。私、まったく怪しいものではございません。24歳の青年でございます、仕事はIT関連ではないのですがプログラミングの魅力に引かれて勉強しております。

yatto0202
質問者

補足

tany180sx様 ご回答ありがとうございます。 早速logs/error_log をチェックしました。 [Mon Jan 21 15:14:13 2008] [error] [client 127.0.0.1] script 'C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/test.php' not found or unable to stat 404がでた後に保存されたものです。 引き続き原因を探りたいと思います。 ご教授してくだされば幸いです。

関連するQ&A

  • PHP+Apacheの連携を教えていただけませんか?

    PHPとApacheの連携がうまくできなくて困っています。 自分でもいろいろ調べたり、似た質問の回答を参考にしたりしましたが解決できません。 よかったら教えてください。お願いします。 ------------------------------ 症状 ------------------------------ 1.Apacheは無事起動できています。(http://localhost/は表示済み) 2.<?php phpinfo(); ?>を記述したphpファイルを実行すると、phpファイルのダウンロードが開始します。(http://localhost/phpinfo.php/) 3.<html>~<b>開始</b><br><?php> echo "こんにちは"; <?/>~</html>を記述したphpファイルを実行すると、開始のみ表示されます。 ------------------------------ 環境 ------------------------------ OS:Windows Vista PHP:PHP5.2.5 Apache:Apache2.0.63 ------------------------------ 今までに操作した内容 ------------------------------ <各ルート> c:/php c:/Windows/php.ini c:/Program Files/Apache Group/Apache2/conf/httpd.conf <httpd.confへの追加> LoadModule php5_module c:/php/php5apache2.dll AddType application/x-httpd-php .php AddType application/x-httpd-source .phps <php.iniへの追加、変更> output_handler =mb_output_handler default_charset = "EUC-JP" extension_dir = "c:/php/ext" extention=php_mbstring.dll extention=php_mysql.dll mbstring.language = Japanese mbstring.internal_encording = EUC-JP mbstring.http_input = auto mbstring.http_output = EUC-JP mbstring.encording_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; 何か情報が足らなければ追記します。 詳しく記載されているWebサイトでもいいので、教えてください。 よろしくお願いします。

    • 締切済み
    • PHP
  • apache2.2 php5 インストール

    VISTAへapache2.2とphp5をインストールしたのですがうまくいかないので質問させていただきます。ユーザーアカウント制御を無効化にしてapacheは無事インストールできました。 その後httpd.confに[LoadModulephp5_module "c:/php/php5apache2_2.dll"] [AddType application/x-httpd-php .php] [AddType application/x-httpd-php-source .phps]を追記。 php5ts.dllとlibmysql.dllをsystem32へ。 php.iniをwindouwsへ移動し default_charset="Shift_JIS" extension_dir = "C:/php/ext" extension=php_mbstring.dll extension=php_mysql.dll mbstring.language = Japanese mbstring.internal_encoding = SJIS mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none と変更したのですが、phpファイルにアクセスすると ファイルダウンロードになってしまします。 どこか設定がおかしかったり、足りない部分があるのでしょうか?

    • ベストアンサー
    • PHP
  • PHPのインストールについて

    php-5.1.2-Win32 Apache_2.0.55-win32-x86-no_ssl windows XP 秀丸エディタ 色々なサイトを見てPHPやapacheのインストールをするのですが ブラウザで"<? phpinfo(); ?>"というスクリプトを実行しても アドレス(http://localhost/phpinfo.php) ファイルの保存になってしまいます:(ダウンロード用のダイアログ起動する) httpd.conf 又は php.ini の修正もしているんですが php5ts.dllをコピー →(c:¥windows¥system32) php.ini.distをphp.iniにリネームしコピー →(c:¥windows) ファイル修正後、Apache を再起動もしています。 Apacheでは、テスト画面は成功しています PHPとApacheの連携がわるいのか、他に原因があるのかわかりません 初心者です。どうぞ宜しくお願いします。 ※ httpd.conf の修正 LoadModule php5_module c:/php/php5apache2.dll AddDefaultCharset none AddType application/x-httpt-php .php AddType application/x-httpd-php-source .phps ※ php.ini の修正 output_buffering = On output_handler = handler=mb_output_handler default_charset = Shift_JIS doc_root ="C:/Program Files/Apache Group/Apache2/htdocs" extension_dir = "c:/php/ext" extension=php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = auto mbstring.script_encoding = EUC-JP

    • ベストアンサー
    • PHP
  • PHPとApacheの連携

    PHPとApacheの連携 PHP初心者です。 php5.3.2とApacheを連携させたいのです。参考書やネットから探し httpd.confを設定しているのですが。 書かれている設定項目がhttpd.confに見当たりません。 --------------- AddDefaultCharset none LoadModule php5_module c:/php5/php5apache2.dll AddType application/x-httpd-php .php --------------- php5apache2.dllもPhpファイル上にないのでどうしていいかわかりません。 設定項目を教えてください。お願いします

    • ベストアンサー
    • PHP
  • apache2.2とPHP5のインストール

    こんにちは。パソコンはあまり得意ではないのですが、PHPを使わなければならない状況となり、apacheが正しく起動してくれないため困っています。 OSはvistaで、apache2.2とPHP5をインストールしました。グーグルで調べて環境設定をしたのですが、apacheを起動しても[The requested operation has failed!」と出てきてしまいます 。 <httpd.confで> LoadModule php5_module c:/php/php5apache2_2.dll Addtype application/x-httpd-php .php PHPIniDir"C:/php5" AddDefault Charset none ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.2" ServerName localhost:8080 <php.iniで> doc_root = "c:/Program Files/Apache SoftwareFoundation/Apache2.2/htdocs" extension_dir = "c:\php5\ext" mbstring.internal_encoding = UTF8 mbstring.http_output = UTF8 mbstring.substitute_character = none; output_handler = mb_output_handler 以上が変更した点です。path設定もしました。なぜapacheが起動しないのかさっぱり分りません。上記で何か間違った点、足りない点などありましたらご指導お願いします!

    • ベストアンサー
    • PHP
  • PHPとApacheの連携

    Apacheのインストールはできたのですが、PHPでApacheとPHPを関連づけるのに必要なhttpd.confの設定でつまづいてしまいました。 参考書に書いてある事とは違っていたのでどうすればいいのかわからなくなってしまいました。どなたかよろしくお願いいたします。 参考書では 173行目にLoadModule php5_module c:php/php5apache2.dll 699行目にAddDefaultCharset none 794行目にAddType application/x-httpd-php .php となっているのですが、 たとえば699行目にAddDefaultCharset noneとなっているので 参考書に載ってる 700行目のAddCharset ISO-8859-1 .iso8859-1 .latin1 を検索しようとしたのですが引っかからず自力で探したのですが、みつかりませんでした。 ですので 699行目のAddDefaultCharset none をどこに記入すればいいのかわからなくなってしまいました。 ちなみに 794行目AddType application/x-httpd-php .php もどこに打ったらいいのかわかりません。 よろしくお願いいたします!

    • ベストアンサー
    • PHP
  • Apacheが起動できません【phpとの連携】

    Apache2.2.13 php 5.2.11 の連携を行うためにhttpd.confに項目を追加したのですが、起動できません LoadModule phpt_module c:/php/php5apache2.dll AddType application/x-httpd-php .php を記述しました。 他に記述する項目はありますか?もしありましたら教えてください

  • Apache起動時のエラーについて

    WindowsXpにApacheによるPHP開発環境を構築していましたが、httpd.conf及びphp.iniについて 以下のように設定を行ない、Apacheをリスタートすると以下のエラーメッセージがポップアップ表 示されApacheが起動しません。 [Window Title] httpd.exe -アプリケーション エラー [内容] "0x0079356f"の命令が"0x00000066"のメモリを参照しました。 メモリが"written"になることはできませんでした。 <このエラーで確認したこと> Apacheのインストール直後の動作確認では、問題なくテストページが表示されていましたので、 httpd.conf、php.iniの設定ミスかと思い設定変更した箇所を1つずつ戻しながらApacheの動作を 確認しました。その結果、httpd.confで記載済みのLoadModuleの最終行以降に追加した、 PHPIniDir "C:/php" LoadModule php5_module "C:/php/php5apache2_2.dll" をコメントにすると、正常にApacheが起動しました。 試しに"php5apache2_2.dll"を"php5apache2.dll"に変更(DLL自体存在)しApacheの開始を行なうと 以下のエラーメッセージがポップアップ表示されました。 [Window Title] Error [内容] The requested operation has faild! <このエラーで確認したこと> 自端末にセキュリティソフトが起動しており、当ソフトのスマートファイアウォールが有効になって いるので、無効に設定し Apacheの開始処理を行ないました。 ※Windowsのファイアウォールも無効に設定済み→結果、同エラーメッセージが表示されました。 Apache環境の構築経験が乏しいのもあり行き詰ってしまいました。いろいろとGoogleで検索し、 各設定を行なっていったつもりだったのですが…つまづきました。 以下に、設定箇所を記載致します。 大変申し訳ありませんが対策についてご教示お願い致します。 ***************************** php.ini 編集箇所 ***************************** 以下の項目について、先頭の ; を外し設定値の編集を行ないました。 default_charset = "UTF-8" extension_dir = "C:/php/ext" 以下の項目について、先頭の ; を外す設定を行ないました。 extension=php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 ***************************** httpd.conf 編集箇所 ***************************** 最後のLoadModuleの次行に以下を追加しています。 LoadModule php5_module "C:/php/php5apache2_2.dll" PHPIniDir "C:/php" ※指定するフォルダ内にphp.iniが存在することは確認済みです。 ※指定するフォルダ内にphp5apache2_2.dllが存在することは確認済みです。 DocumentRootをデフォルトの場所から、"D:/WWWRoot" に設定 (物理的にフォルダも存在しています) <IfModule mime_module>内の最後に、以下を追加しています。  AddType application/x-httpd-php .php  AddType application/x-httpd-php-source .phps 【構築環境】 OS :WindowsXP SP3 Apache: Apache2.2.17 ※Install msi→httpd-2.2.17-win32-x86-no_ssl.msi PHP : 5.2.17 ※Install msi→php-5.2.17-Win32-VC6-x86.msi

    • 締切済み
    • PHP
  • PHP使用時のアパッチ設定ファイル

    windows2000 にapache_2.0.44 をインストールしています。 ここにphp4.3.0をインストールしようとしています。インストーラー版は使っていません。 ファイルのリネームと移動は済んだのですが、php.ini と apacheのhttpd.confの設定ファイルをどのように変更すれば良いのか分かりません。 本や他のサイトを調べてみるとhttpd.confに LoadModule php4_module c:/php/sapi/php4apache.dll を追加するように書いてありますが、この文を他のLoadModuleが並んでいる一番下に追加すると、apacheが起動しなくなってしまいます。 できることなら、php.ini と httpd.conf に必要な変更箇所を教えてもらえませんでしょうか? ファイルのディレクトリは ■apache C:\Apache2\www ←ドキュメントフォルダ ■php C:\php\extensions ←エクステンションのフォルダ C:\php\sapi です。虫のいいお願いですがよろしくお願いします。

    • ベストアンサー
    • PHP
  • Apache 2.4でphp-5.3を使いたいです

    Apache 2.4.0でphp-5.3.9を使いたいです。 Apacheのインストールは、 http://www.apachelounge.com/download/から Apache 2.4.0 httpd-2.4.0-win32.zip をダウンロードし、c:/pg/にApache24という名前のフォルダで配置しました。 ドキュメントルートのhtmlファイルをブラウザで表示できるところまでできています。 そして、c:/pg/Apache24に空のフォルダc:/pg/Apache24/phpを作成します。 PHP 5.3 (5.3.9)用のモジュールは上記のページから php5apache2_4.dll-php-5.3.9-win32.zip をダウンロードしてc:/pg/Apache24/phpに php5apache2_4.dllを配置しました。 PHPのインストールは http://windows.php.net/download/から PHP 5.3 (5.3.9) Zip [14.94MB] sha1: 4149d79a877ae7ccb0e5419b13152b5bd3074825 php-5.3.9-nts-Win32-VC9-x86.zipをダウンロードし c:/pg/Apache24/phpに全て展開しました。 c:/pg/Apache24/phpには 「php5apache2_4.dll」と「展開したphp-5.3.9-nts-Win32-VC9-x86.zip」が入っています。 そして、 C:/pg/Apache24/conf/http.confの167行目に LoadModule php5_module c:/pg/Apache24/php/php5apache2_4.dllを追加しました。 ----------------------------------------------------------- #LoadModule version_module modules/mod_version.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule xml2enc_module modules/mod_xml2enc.so LoadModule php5_module c:/pg/Apache24/php/php5apache2_4.dll ----------------------------------------------------------- ダウンロードと一緒についてくるPHPのマニュアルを見ると、 # Runs with PHP 5.3.9, Apache 2.4 and Win 32 # Install: - Copy php5apache2_4.dll to your php folder (eg. c:/php) (和訳:php5apache2_4.dllをあなたのphpフォルダーへコピーして下さい) ⇒完了済み # Add to your httpd.conf (和訳:あなたのhttpd.confに追加して下さい) LoadModule php5_module "c:/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php ⇒1つ目は完了済み、2つ目はまだ # configure the path to php.ini (和訳:php.iniへのパスを形成して下さい。) PHPIniDir "C:/php" ⇒まだ この状態でコマンドプロンプトから C:\pg\Apache24\bin\httpd を入力すると下記のエラーが出てしまいます。 C:\pg\Apache24\bin\httpd (←Apacheの起動) httpd: Syntax error on line 167 of C:/pg/Apache24/conf/http.conf : Cannot load C:/pg/Apache24/php/php5apache2_2.dll into server: \x8ew\x92\x82\xb3\x82~~~~ C: (←Apacheが終了) なぜエラーになってしまうのでしょうか。