php5.2.3から5.3.8にアップデートしようとしています。

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です。

自分では、これ以上進めません。
ご存知の方、アドバイスいただけると助かります。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/08/31 15:30:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Jupiter2100 No.1

回答回数444ベストアンサー獲得回数74

ポイント100pt

PHP 5.2系と5.3系はメジャーアップデートというくらいの違いがあります。

php.iniの設定については、5.2のものをそのまま5.3にコピーすると動かなくなることがありますので注意してください。


まず、以下の確認をお願いします。

  1. PHP5.3のphp5ts.dll は system32 へコピーしていますか?
  2. PHP5.3の php.ini-development をそのままphp.iniにリネームして動作しますか?
  3. php.iniで "LoadModule php5_module c:/php5/php5apache2_2.dll" は指定されていますか?

たいへんですが、PHP5.3の php.ini-development をベースに、PHP5.2の設定を1行ずつ移植(1行書いたら、Apacheを再起動)するのが無難です。

id:kohhi

5.2に戻して使ってます。

>1行ずつ移植(1行書いたら、Apacheを再起動)するのが無難です。

このくらい大変なことなんですね。

2011/08/31 17:56:36

その他の回答1件)

id:Jupiter2100 No.1

回答回数444ベストアンサー獲得回数74ここでベストアンサー

ポイント100pt

PHP 5.2系と5.3系はメジャーアップデートというくらいの違いがあります。

php.iniの設定については、5.2のものをそのまま5.3にコピーすると動かなくなることがありますので注意してください。


まず、以下の確認をお願いします。

  1. PHP5.3のphp5ts.dll は system32 へコピーしていますか?
  2. PHP5.3の php.ini-development をそのままphp.iniにリネームして動作しますか?
  3. php.iniで "LoadModule php5_module c:/php5/php5apache2_2.dll" は指定されていますか?

たいへんですが、PHP5.3の php.ini-development をベースに、PHP5.2の設定を1行ずつ移植(1行書いたら、Apacheを再起動)するのが無難です。

id:kohhi

5.2に戻して使ってます。

>1行ずつ移植(1行書いたら、Apacheを再起動)するのが無難です。

このくらい大変なことなんですね。

2011/08/31 17:56:36
id:pacochi No.2

回答回数247ベストアンサー獲得回数113

ポイント100pt

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/
id:kohhi

アドバイスありがとうございます。

まだ、動かないままです。(5.2に戻してます)

2011/08/31 17:53:50
  • id:tdoi
    まずは、Apacheのログを見ましょう。
    恐らく、原因が分かります。

    あとは、確認ですが、php5.2.3はまだ存在しているのですか?
    もし、そうであればPHPが存在するディレクトリがそもそも違うはずなので、Apacheの設定を変えないといけないと思います。それに関しての言及はないですが、それはやりました?
    あと、試すとすれば、PHPを読み込まなければ、Apacheは起動しますか?

    情報量が少なすぎて、確定的なことは言えませんが、何かの参考になれば。
  • id:pacochi
    コマンドプロンプトで
    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」というフォルダ名じゃなかった場合は、適宜読み替えて下さい。)
  • id:kohhi
    tdoi様
    >Apacheのログを見ましょう。
    これからログの見方勉強します。
    >php5.2.3
    前のに戻したら、動きました。
  • id:kohhi
    pacochi様
    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\."
    何をしているか、これから勉強します。

    早速お返事ありがとうございます。
  • id:pacochi
    C:\Tools\apache\bin\httpd.exe -w -t -f "C:\Tools\apache\conf\httpd.conf" -d "C:\Tools\apache\."
    は、そのまま一行で打ち込んで下さい。
    (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 を別の場所に置いてある場合は適宜その場所に書き換えて下さい。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません