web-dev-qa-db-ja.com

PHP 5.3.0 in Drupal 6.13の非推奨関数ereg()の使用を解決する方法

誰もが以下のエラーを解決する方法を知っていますか?

非推奨:関数ereg()は、895行目のC:\ wamp\www\include\file.incで非推奨になりました。

Drupal 6.13をwampserver2.0iにPHP 5.3.0でインストールした後に発生します

9
João Guilherme

エラー報告レベルを削除します E_DEPRECATEDより下

PHP 5.3では、E_DEPRECATEDとE_USER_DEPRECATEDの2つの新しいエラー報告レベルが導入され、PHPの歴史上初めて、APIの古い部分から離れ始めました。 ereg_ *関数は引き続き機能しますが、この警告は、「ねえ、これらの関数は間もなく、おそらく次のメジャーリビジョンで廃止される予定です)ことを通知することを目的としています。

11
Alan Storm

使用する

preg_match('/\.([^\.]*$)/', $this->file_src_name, $extension);

の代わりに

ereg('\.([^\.]*$)', $this->file_src_name, $extension);
43
Parmendra Singh

関数の前に@を追加するだけです。例えば.

@ereg()

PHP 5.3.0、pls参照)を実行しているWebサーバーのアップグレードに関連するその他の問題

http://www.rain-forest-forum.com/dotproject-net-installation-issues-t263.html

1
ex_plo_rer

Common.incファイルを編集して、非推奨のエラーフラグを静かに無視することができます。私の投稿を参照してください: http://funkinetics.org/klink/function-ereg-is-deprecated-error-in-drupal-6x-with-php-53/

0
RayRay

これはDrupalの問題ではありません。Drupalサイトでは、まだPHP 5.3およびPHPに新しいエラーフラグが追加されました。

解決策1:PHPバージョンをデガードできます。PHP 5.2.xに戻すことができます。DrupalおよびPHP 5.3。

解決策2:ただし、PHP 5.3を維持したい場合は、非推奨の関数エラーをいつでも抑制できます。Drupalのincludes/common.incで、次の行を見つけてください:

if($ errno&(E_ALL ^ E_NOTICE)){そしてそれを次のように置き換えます:

if($ errno&(E_ALL&〜E_NOTICE&〜E_DEPRECATED)){

これにより、非推奨のエラーメッセージが常に抑制されるようになりました。

0
Ipsita Rout

1つの解決策は、問題のあるソースコードをアップグレードすることです:-)ここで説明されています: http://drupal.org/node/514334#comment-285294

0
Simon B.