• 締切済み

Windows7でApache+PHPが動作しない

開いていただきありがとうございます。 このたびWindows7に移行したので、それに伴いApache・PHPを再セットアップしようとしたのですが、 ApacheにPHPを連動させようとするとどうしてもエラーが発生してしまうため、質問させていただきました。 使用したバージョンはそれぞれ Apache 2.2.14 Win32 Binary PHP 5.2.11 Windows Binary installer であり、以前に挑戦して成功したものとはほとんど違いありません。 まずはApacheをセットアップするのですが、これに関しては何の問題もなく動作します。 localhost:80に設定しましたが、httpd.confの中身などは修正してもしなくても差はなかったようです。 次にPHPをセットアップするのですが、以前は「Apache2.2.Xに対応する形でセットアップ」の項目を選べば、そのまま利用が可能でした。 ですが今回は、PHPに関する項目をhttpd.confに設定すると"The requested operation has failed!"などと言われて起動に失敗してしまいます。 各設定項目を順番にコメントアウトするなどして試してみたのですが、LoadModuleもPHPIniDirも、いずれに起動しない原因となるようです。 自動設定に頼ったのが悪いのかと思い、念のためApacheも再セットアップして、 http://pocketstudio.jp/log2/2007/01/windows_apache_224_php_520.html こちらのサイトなどを参考に設定を手動で行ってみましたが、 結果は自動で行った場合とまったく同じになりました。PHPに関する設定を記入した途端に起動に失敗するようになります。 自分よりは明るい人などにも頼ってみたのですが、原因が分からないとのことです。 同じようなことでつまづいている人がいないかなども確認してしまいましたが、いずれの例も解決の参考にはなりませんでした。 なんとかしてうまくセットアップする方法をご存じの方はいらっしゃいませんでしょうか? よろしくお願いします。

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

みんなの回答

noname#119957
noname#119957
回答No.4

<参考にあるかどうかわかりません。> 上手くセットアップ出来ている例: apacheのバージョン 2.2.11 http://silvervine-ninelives.blog.so-net.ne.jp/2009-05-25-1 PHPのバージョン5.2.9-2 http://silvervine-ninelives.blog.so-net.ne.jp/2009-05-27

snowize
質問者

お礼

回答ありがとうございます。 その通りのバージョンは手に入りませんでしたので、Apache2.0系などの異なるバージョンを組み合わせてみたのですが、同じように起動しませんでした。 セットアップの手順は、こちらに記されている通りで間違いありません。なんなんでしょーか、もう……。

回答No.3

サービスを起動しようとしたときのエラーですか。 起動に問題があるならば、Apacheのログが残っていると思いますが いかがでしょう?

snowize
質問者

補足

セットアップしたてのApacheに、 セットアップしたてのPHPを突っ込んで起動した際のログです。 インストーラまかせでも手動設定でも、吐き出されるログは同じような感じでした。 40分がセットアップ直後の自動起動、42分がPHPセットアップ後の再起動です。 Starting the Apache2.2 service The Apache2.2 service is running. rmine the server's fully qualified domain name, using 192.168.0.4 for ServerName [Thu Oct 29 21:40:24 2009] [notice] Apache/2.2.14 (Win32) configured -- resuming normal operations [Thu Oct 29 21:40:24 2009] [notice] Server built: Sep 28 2009 22:41:08 [Thu Oct 29 21:40:24 2009] [notice] Parent: Created child process 1904 httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.0.4 for ServerName httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.0.4 for ServerName [Thu Oct 29 21:40:24 2009] [notice] Child 1904: Child process is running [Thu Oct 29 21:40:24 2009] [notice] Child 1904: Acquired the start mutex. [Thu Oct 29 21:40:24 2009] [notice] Child 1904: Starting 64 worker threads. [Thu Oct 29 21:40:24 2009] [notice] Child 1904: Starting thread to listen on port 80. [Thu Oct 29 21:42:34 2009] [notice] Parent: Received restart signal -- Restarting the server. [Thu Oct 29 21:42:34 2009] [notice] Child 1904: Exit event signaled. Child process is ending. [Thu Oct 29 21:42:35 2009] [warn] module php5_module is already loaded, skipping [Thu Oct 29 21:42:35 2009] [warn] module php5_module is already loaded, skipping Syntax error on line 490 of C:/Program Files/Apache/conf/httpd.conf: Only first PHPINIDir directive honored per configuration tree - subsequent ones ignored [Thu Oct 29 21:42:35 2009] [warn] (OS 995)スレッドの終了またはアプリケーションの要求によって、I/O 処理は中止されました。 : winnt_accept: Asynchronous AcceptEx failed. [Thu Oct 29 21:42:35 2009] [notice] Child 1904: Released the start mutex [Thu Oct 29 21:42:36 2009] [notice] Child 1904: All worker threads have exited. [Thu Oct 29 21:42:36 2009] [notice] Child 1904: Child process is exiting 490行目はPHPのiniを設定しますが、これをひとつきりにしたり、ひとつもなくしたところでシンタックスエラーが出なくなるだけで状況は変わりないです。

回答No.2

よくある例は、php.iniで指定された拡張モジュールがDLL不足等でロードできない、です。 コマンドプロンプトでphpを実行すればxxx.dllが見つからないとかエラーメッセージが出ます。

snowize
質問者

お礼

お返事ありがとうございました。 申し訳ありません。 ロードしたDLL,iniは確かに存在しました。 余談になりますが、公式のインストーラを使って「前回はできたことが今回はできない」という状況なので、ちょっと不可思議です。 ApacheはProgramFiles直下、PHPは別ドライブという状況が「Vistaでは問題なかったが7では問題」とかあるんでしょうかね……。 エラーログの話を聞いて記録しておこうと思ったのですが、風邪を引いてしまいました。お返事が精一杯です。すみません。

回答No.1

どちらもインストーラーを利用しているようですが、 Vistaの頃からUACの制限によってProgram Files配下の ファイルには操作制限がかかると思います。 ですから、C:\配下へのインストールであったり にインストールすると問題なかった記憶があります。 Vistaを大していじり倒してないのでちょっとわかりませんが、 ディレクトリ構成とアクセス制限については C:\UserData\ユーザー名\ のとこでも問題ないかもしれません。 ファイル操作が行えない理由としてはそれが有力なのではと パッと思いついて、しっかり質問読んでませんごめんなさい・・・。

snowize
質問者

お礼

補足の追記ができないので、ややこしいことになってしまい申し訳ありません……。 このようなエラーのよくある例として出てくる「……2_2.dll」がなかったという落ちですが、これは確認済みです。 インストーラによる自動設定、参考サイトを見ての手動設定ともに行いましたので、タイプミス(というかコピペしましたが)のようなこともないかと思います。 宗教上の理由でXAMPPなどはできれば避けたいところですので、明日以降も入れたり消したりを繰り返そうと思いますが、アドバイスなどありましたらなにとぞご教示ください。

snowize
質問者

補足

回答ありがとうございます。 少し分かりにくかったかもしれませんが、 Vista ⇒ 成功 7 ⇒ パスも含めてまったく同じ手順で行っているのに失敗 といった様子です。UACは完全に切って、管理者権限もあります。 アップデート版なので、さすがにVistaでどうだったかを確認するためだけにOSの入れ替えをするのはきついので確実ではありませんが、Windows7導入後にApache+PHPを導入する練習として実験した程度なので、さして決定的な違いがあるとは考えにくいです。 また、PHPインストーラの自動設定部分を手動でやるように切り替えた際も同一の問題が起きたので、ファイルの操作制限などは関係ないかと思います。 インストーラを使わない方法に関しましては、古い情報が混じっていたり(よく分かりませんが、バージョンによってはWindows側の設定も大きく変更しなければならないとか?)、そうせねばならない理由が不明確であったりなどで、できればインストーラで安心確実にすませちゃいたいなあ……という気分が強いのですが。

関連するQ&A

  • 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
  • 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・phpが起動しない・・・

    phpを勉強しようと思い、環境を設定しているのですが上手くいきません。どなたかご指導宜しくお願い致します。 本を見てapacheとphpをインストールしたあとに、httpd.confなどを設定しました。 apacheが起動しないようで、ms-dosのような画面が出てきて、httpd.confの「LoadModule php5_module C:/php/php5apache2_2.dll」がエラーになってるようです。 ms-dosみたいな画面には「LoadModule takes two arguments, a module name and the name of a shared object file to load it from」と書いてます。 環境  windows vista ダウンロードファイル apache_2.2.4-win32-x86-no_ssl.msi php-5.2.1-Win32.zip

    • ベストアンサー
    • 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が終了) なぜエラーになってしまうのでしょうか。

  • 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/PHPのエラーについて

    PHPを入れた後、apacheを起動すると The requested operation has failed! が表示されます サイトを参考にhttpd.confは以下を修正してます LoadModule php4_module "D:/php/sapi/php4apache2.dll" AddType application/x-httpd-php .php apacheのerror.logには特に何も出力されていません ほかに何か確認するところがありましたら教えてください バージョン apache_2.2.13 PHP ver.4.3.8

    • ベストアンサー
    • PHP
  • PHP5とApache2.2.2を選びましたが。。。

    現在、PHP5の設定で戸惑っています。 httpd.confファイルでの設定で、 LoadModule php5_module D:/php/php5apache2.dll AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.html index.php を追記しましたが、どうしても115行目の LoadModule php5_module D:/php/php5apache2.dll でアラーらしき症状が出てPHPが動作してくれません。 cgi,phpの動作ディレクトリは”D”で設定しています。 どなたかアドバイスの程、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • Apache2.0とPHP5でApacheが起動しない

    使っていないPCを使用して、WEBサーバを構築中です。 ・WindowsXP ・Apache2.0.58 ・PHP5.1.4 (これにMySQLとActivePerlもインストールする予定です) で作っているのですが、 httpd.confファイルに LoadModule php5_module c:/php/php5apache2.dll を追加したところ、Apacheが起動しなくなりました。 上の文をコメントアウトすると起動します。 PHPはダウンロード&解凍しただけで、php.iniの設定等は何もしていません。 過去の質問を参考にしたのですが、解決できません。 どうぞご指導をお願いします。 初心者ですので、質問内容に不足がありましたら補足します。

  • PHPの設定ができません。

    PHP初心者です。 ApacheとPHPの連携がうまくいきません。 環境は、OSがWindowsXP、Apache2.2.21、PHP5.2.17です。 エラーの内容は、 httpd: Syntax error on line 130 of C:/Apache2/conf/httpd.conf: Cannot load C:/ph p/php5apache2_2.dill into server: \x8ew\x92\xe8 ... httpd.confの設定は 130:LoadModule php5_module "C:/php/php5apache2_2.dill" 131:PHPiniDir "C:/php" ディレクトリに間違いはありません。php5apache2_2.dill も存在しています。 どうしたらいいのでしょうか?

    • ベストアンサー
    • 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

専門家に質問してみよう