本家のお世話-#27。(PHP5.4.0へアップデート失敗)

投稿アップデート情報  追記2(3/5)  追記3(3/7)  追記4(4/11)

 前記事の最後に1行書いたが,php-5.4.0-Win32-VC9-x86.zipが出た。

 Version 5.4.0のChangeLogは,こんな感じ。Twitterで「php5.4.0」をキーワードに検索してみたが,現時点(20:20)ではそれほど不具合の報告はないようだ。

 変更点はいろいろだが,バージョンアップで問題になるのは,下位互換性のない変更点かな。PHP 5.4.x で推奨されなくなる機能削除された拡張モジュールあたりも,確認しておいたほうがいいかもしれない。

 というところで,自分が把握できていない変更点について,ちょこちょこと確認してみた。

 PHP5.3.10のiniで,マジッククオート関係を確認してみると,
    ; magic_quotes_gpc
    ; Production Value: Off

    ; http://php.net/magic-quotes-runtime
    magic_quotes_runtime = Off

    ; http://php.net/magic-quotes-sybase
    magic_quotes_sybase = Off
になっている。現時点で,これで動いてるんだから,5.4.0にしても問題ないかもな。
 「set_magic_quotes_runtime() を実行すると E_CORE_ERROR が発生」という記述が少し気がかり。wp-includes/class-phpmailer.phpとwp-admin/includes/class-pclzip.phpでset_magic_quotes_runtime()が使われてるみたい。今までは,多分FALSEが帰ってたんだと思うんだが。

 short_open_tagについては,本家のお世話-#25。で確認済み。

 一応大丈夫そうなので,アップデートしてみたんだけども,うまくいかない。<?php phpinfo() ?>で確認した時点までは問題なく,ブログもちゃんと表示されたんだが,いろんなところで,「PHP Fatal error: Maximum execution time of 30 seconds exceeded in」 が起こり,これに関連して,「エラー発生アプリケーション httpd.exe、バージョン 2.2.22.0、エラー発生モジュール php5ts.dll、バージョン 5.4.0.0、エラー発生アドレス 0x********」が記録されている。しかも,Apacheの再起動が発生する。再起動後,何事もなかったように,直前のリクエストに対するページが表示はされるのだが,どうもどこかで無理が行っている気がするので,5.3.10に戻した。

 何となく,MySQLのデータベースがらみのような気がして,昔を思い出しlibmysql.dllをsystem32に入れてみたりしたが,変化はないようだ。5.4.xはもうちょっと待ってみるかな。

追記:
 「PHP Fatal error: Maximum execution time of 30 seconds exceeded in」に関しては,単純に時間制限を緩めてやればいい気もするけど,PHP5.4のベンチマークが劇的に改善ていう報告があるのに,なんで今まで起きていなかったタイムアウトが起こるのかという疑問がある。私の理解に何か間違いがあるのか。
 誰か,助けてください。あと,何を試してみればいいんだろう。(泣)

追記2(3/5):
 WordPressのconfigのデバッグを有効にしてみたり,php.iniのエラー表示を有効にしてみたが,出てくるエラーは5.3.10のときと変わらない気がする。
 Apacheが死ぬときに,「child process exited with status」が出ているのに気付いた。このキーワードでググったら,PHPで再帰呼び出しの階層があまりに深くなりすぎると、同様のエラーログでApacheが死ぬことがあります。(Apache 2.2.4 + PHP 5.2.2で確認) — Zefard? 2007-06-06 (水) 22:26:47というのがあった。これ関係かな。

追記3(3/7):
 「Parent: child process exited with status 3221225477 — Restarting.」まるごとでググったら,Bug #50215 があって,最後のほうに, [2012-02-25 01:40 UTC] のタイムスタンプで,
   Please try using this snapshot:
    http://snaps.php.net/php5.3-latest.tar.gz
   For Windows:
    http://windows.php.net/snapshots/
   Please try a recent version without xdebug and other additional extensions.
というのがあった。で上のは5.3だけど,似たエラーはちょくちょくあるのかもしれない。現在のsnapshotはVersion: 5.4.1RC1-devだったので試してみたが,トラブルは解消しなかった。残念。

追記4(4/11):
 PHP導入についての新しい記事を,本家のお世話-#28。本家のお世話-#29。に書いた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください