印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux PukiWiki 1.4.5_1 が PHP 5.0.5 で 致命的エラー

PHP のバージョンが上がったと同時に PukiWiki が動かなくなってしまった。PHP のバージョンを元に戻す。

■ ■ ■

Vine Linux 3.2 で apt-get すると,php5 関連のパッケージが更新された。しばらくは何事もなく使っていたが,マシンをリブートしたら PukiWiki が動かなくなってしまった。「Front Page」が表示されなくなってしまったのである。

Apache のエラーログには「PHP Fatal error」のメッセージが出力されていた。

[Wed Oct 19 00:11:51 2005] [error] PHP Fatal error:  Only variables can be passed by reference in /home/.../pukiwiki-1.4.5_1/rules.ini.php on line 26

環境は Vine Linux 3.2 (kernel 2.4.31),Apache 1.3.33,PHP 5.0.5,PukiWiki 1.4.5_1 である。

先日の記事 (nlog(n): PHP5 用に httpd.conf を書き換える) にトラックバックを頂いた ...ing logging:Vine3.2 + Apache1.3.33 + php5.0.5 + pukiwiki1.4.5_1 さんによれば,これは既知の問題とのことで,PukiWiki 1.4.5_1 が PHP 5.0.5 では動かないのだそうだ。PHP がバージョンアップして構文の厳密性を上げたため,今まで許されていたコードが通らなくなってしまったらしい(BugTrack2/106 - PukiWiki-dev)。原因は明確になっているので,PukiWiki の修正版は近いうちにリリースされるに違いない。それを期待して,しばらく待つことにする。

暫定的に,PHP を1つ前のバージョンに戻すことにした。

現在の PHP 関連のパッケージを見ると,3つあることが分かる。バージョンはどれも 5.0.5 になっている。

# rpm -qa | grep php
php5-5.0.5-0vl4
php5-pear-5.0.5-0vl4
php5-apache-5.0.5-0vl4

パッケージは apt-get で更新しているので,前のパッケージがキャッシュに残っているか調べる。

# cd /var/cache/apt/archives
# ls php*
php-apache_4.3.11-0vl4_i386.rpm    php5-pear_5.0.5-0vl4_i386.rpm
php-pear_4.3.11-0vl4_i386.rpm      php5_5.0.3-0vl3.2_i386.rpm
php5-apache_5.0.3-0vl3.2_i386.rpm  php5_5.0.5-0vl4_i386.rpm
php5-apache_5.0.5-0vl4_i386.rpm    php_4.3.11-0vl4_i386.rpm
php5-pear_5.0.3-0vl3.2_i386.rpm

メデタク残っていた。1つ手前のバージョンは PHP 5.0.3 であることが分かる。現在のバージョンより古いものをインストールしなければならないので,rpm コマンドには「--oldpackage」オプションをつける必要がある。

ワイルドカードを使って「うりゃっ」と3つのパッケージを同時に更新。「更新」というより「更古」?

# rpm -Uvh --oldpackage php5*5.0.3*
準備中...                   ########################################### [100%]
   1:php5-pear              ########################################### [ 33%]
   2:php5                   警告: /etc/php.ini は /etc/php.ini.rpmnew として作成されます########################################### [ 66%]
   3:php5-apache            ########################################### [100%]

Apache を再起動して完了。

# /etc/init.d/httpd restart
httpdを停止中:                                             [  OK  ]
httpdを起動中:                                             [  OK  ]

PukiWiki の修正版リリースまで PHP のアップグレードは見送りだ。

PukiWiki 1.4.5_1 のバグ (BugTrack2/106 - PukiWiki-dev)に関しては,...ing logging さんによりパッチが公開されている(...ing logging:Vine3.2 + Apache1.3.33 + php5.0.5 + pukiwiki1.4.5_1)。2005年10月31日に新しいバージョンである PukiWiki 1.4.6 がリリースされ,この問題はフィックスされている。

2005年11月2日追記:
PHP 5.0.5 以下に重大な脆弱性が発見されました(yohgaki's blog - PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下))。PukiWiki を 1.4.6 にあげておき,PHP の更新版が出たらすぐにアップグレードできるように準備しておく必要があります。

2005年11月5日追記:
PukiWiki を 1.4.6 にアップグレードし,PHP を 5.0.5 にしました(nlog(n): PukiWiki を 1.4.6 に移行)。

2005年12月11日追記:
上記の脆弱性がフィックスされた PHP 5.1.1 の Vine Linux 版が出ました。

Posted by n at 2005-10-19 01:20 | Edit | Comments (0) | Trackback(1)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
PHP5.0.5
先日、aptでvineのupdateをしたら、PHPが5.0.5にバージョンアッ... Trackbacked from: nobubu Eyes at October 23, 2005 07:07
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?