ログ ファイルと Drupal ステータス ページに次のような PHP の非推奨エラーがあふれています。
: Function ereg() is deprecated in mysite/includes/file.inc on line 893.
php.ini で E_DEPRECATED エラーをオフにできるはずですが、次のように設定しても効果がありません。
error_reporting = E_ALL & ~E_DEPRECATED
phpInfo() は error_reporting マスター値とローカル値の両方を 22527 と報告します。
私はやった
grep -R error_reporting
ハードコーディングされたエラーレベルと運がないことを期待して、私のドキュメントルートで:
./includes/common.inc: // If the @ error suppression operator was used, error_reporting will have
./includes/common.inc: if (error_reporting() == 0) {
./modules/system/system.module: 'page arguments' => array('system_error_reporting_settings'),
./modules/system/system.admin.inc:function system_error_reporting_settings() {
./modules/system/system.install: $err = error_reporting(0);
./modules/system/system.install: error_reporting($err);
おそらくsystem.installの最初の行を除いて、私が見ることができるものは何もありませんが、私が正しければ、すべてのエラーがオフになるはずです。
私は .htaccess で error_reporting を設定していませんが、それを行っても効果はありません。
common.inc のハード コーディング エラー レベルを含まない解決策があることを願っています (これは機能しますが、試してみましたが、明らかに望ましくありません)。
非推奨のエラーが PHP 5.3 へのアップグレードの結果であることはわかっていますが、PHP のダウングレードはオプションではありません (5.3 でテストされた同じサーバー上で新しいサイトが現在稼働中であり、これらのエラーが発生したサイトの稼働には 2 か月あります) )。また、5.3 でうまく動作する Drupal バージョンにアップグレードすることもできません。残念ながら、前の所有者が変更を文書化せずにコア モジュールを変更したためです。
バージョンのもの:
PHP 5.3.2-1、Ubuntu 10.04、Drupal 6.13 (一方のサイト)、6.5 (!!1!) (もう一方のサイト)、Apache 2.2