昨日 FreeeBSD で動いているサーバーの php を 5.2 から 5.3 へアップグレードしたのですが、いろいろと困った症状が出てきました。
マイナーアップグレードだと甘く見ていました。しょんぼりです。
ネット上でもいろいろ情報が出回っていて、php のエラーレベルの変更が原因でした。キーワードは、 error_reporting です。
2chビューアの rep2 や pukiwiki には目立った問題はありませんでした。症状が大きく出たのは OpenPNE でした。
OpenPNE は昔インストールしたままの状態でアップデートを行っていませんでした。バージョンは 2.4 でした。最新は 2.14 まで進んでいるようです。2.14 だと php5.3 へ対応しているかもしれません。
Deprecated: Assigning the return value of new by reference is deprecated
〜な感じとなっています。
Warning: Directive 'register_globals' is deprecated in PHP 5.3 and greater in Unknown
のように php5.3 以上では対応しないディレクティブと出ているものもありました。
取り合えず、当該ページをアクセスしたとき、エラーや警告の文字で埋め尽くされることを防ぐために、openpne の設定ファイルの config.php 内の error_reporting を 0 ゼロに設定して取り合えず、対応しました。このままでは根本的な解決となっていないため、何とかしなければと思っているところです。
結局 error_reporting はこれで解決しました。
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);
それから php.ini の 'register_globals' と 'magic_quotes_gpc' を On から Off へ切り替えて crontab でいろいろ動作する度にエラーや警告がメールで送られてくるのを停止させました。
それから「it is not safe to rely on the system's timezone settings. please use the date.timezone setting」と出てくるものについても php.ini へ次の [Date] の項目を追加して対応しました。古くから php.ini を使い回しているとこの様な項目が不足しているようです。
[Date]
; Defines the default timezone used by the date functions
date.timezone = Asia/Tokyo
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。