Apache2.2を停止して、
php.iniファイルを手作業で編集して、
Apacheを再起動すると、
「The request operation is failed」と出てきて、
Apache自体が再起動できなくなりました。
1.やった内容は
php-5.3.8-nts-Win32-VC9-x86
を解凍し、
以前のphp.iniを参考にしながら、php.ini-developmentをphp.iniに名前の変更をして手作業で編集しています。
2.ちょっと変かな、と思った事は
1)extension=php_pdo.dll
の行が、5.3.8には、ありません。
2)また、「libmysql.dll」を\system32ディレクトリーにコピーしていたのですが、
5.3.8の場合、ZIPファイルを解凍したにものにこのファイル自体がありません。
3.環境は
1)C:\php5 というフォルダを作っています。
(ここにphp-5.3.8-nts-Win32-VC9-x86
を解凍し、
php.iniを手作業で編集)
2)Apache2.2は、
C:\Toolsというフォルダーを作ってインストール
3)OSはWin7 Enterprise 64bitです。
自分では、これ以上進めません。
ご存知の方、アドバイスいただけると助かります。
PHP 5.2系と5.3系はメジャーアップデートというくらいの違いがあります。
php.iniの設定については、5.2のものをそのまま5.3にコピーすると動かなくなることがありますので注意してください。
まず、以下の確認をお願いします。
たいへんですが、PHP5.3の php.ini-development をベースに、PHP5.2の設定を1行ずつ移植(1行書いたら、Apacheを再起動)するのが無難です。
Windows版PHP5.3.xの選び方|PHP Walker
モジュールとして実行する場合、Thread Safe 版の方 (ファイル名に「nts」が入っていない方) を選ぶみたいです。
ファイル名を書いて下さっているのをすっかり見落としていました。すみません。
あと、現在 VC6 版はなくなってしまったようなので、今まで apache.org から落とした Apache を使っていた場合は、Apache Lounge の Apache に変えないといけないみたいです。
Do NOT use VC9 version with apache.org binaries
VC9 versions of Apache can be fetched at Apache Lounge.
http://windows.php.net/download/
恐らく、原因が分かります。
あとは、確認ですが、php5.2.3はまだ存在しているのですか?
もし、そうであればPHPが存在するディレクトリがそもそも違うはずなので、Apacheの設定を変えないといけないと思います。それに関しての言及はないですが、それはやりました?
あと、試すとすれば、PHPを読み込まなければ、Apacheは起動しますか?
情報量が少なすぎて、確定的なことは言えませんが、何かの参考になれば。
C:\php5\php.exe -v
と打ってみて、エラーが出ないかどうか確認してみて下さい。
「PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP5\ext\php_pdo.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0」
などのエラーが出たら、php.ini からその dll 関する部分 (「extension=php_pdo.dll」など) をコメントアウトして、再度確認してみて下さい。
そちらでエラーが出ないようでしたら、コマンドプロンプトで
C:\Tools\apache\bin\httpd.exe -w -t -f "C:\Tools\apache\conf\httpd.conf" -d "C:\Tools\apache\."
と打って、Apache の設定ファイルに問題がないかチェックしてみて下さい。
(「apache」というフォルダ名じゃなかった場合は、適宜読み替えて下さい。)
>Apacheのログを見ましょう。
これからログの見方勉強します。
>php5.2.3
前のに戻したら、動きました。
C:\php5>php.exe -v
PHP 5.3.8 (cli) (built: Aug 23 2011 02:20:08)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
正常に動いているようです。
---
httpd.exe -w -t -f
は、長くなるので、
Usage: httpd.exe[-D name]....
Options:
-D name
の表示があり、Apacheのexeは動いているようです。
---
教えていただいた
"C:\Tools\conf\httpd.conf" -d "C:\Tools\."
何をしているか、これから勉強します。
早速お返事ありがとうございます。
は、そのまま一行で打ち込んで下さい。
(Apache のフォルダ自体が「C:\Tools」という名前でしたら、
C:\Tools\bin\httpd.exe -w -t -f "C:\Tools\conf\httpd.conf" -d "C:\Tools\."
と打ち込んで下さい。)
httpd.conf (Apache の設定ファイル) に記述エラーがないかチェックするコマンドです。
問題なければ「Syntax OK」とだけ表示され、dll などが読み込めなかった場合はエラー文が表示されるはずです。
問題がなかった場合は、Apache の conf フォルダにある httpd.conf を開いて、
PHPIniDir "C:/php5"
LoadModule php5_module "C:/php5/php5apache2_2.dll"
という二つの文がそれぞれ存在するかどうか確認してみて下さい。
(「PHPIniDir」「LoadModule」でそれぞれ検索してみて下さい。必ず二行続けて書かれている訳ではなく、ばらばらに書かれている可能性もあります。)
PHPIniDir は php.ini のあるフォルダを指しているので、php.ini を別の場所に置いてある場合は適宜その場所に書き換えて下さい。