0

ob ubuntu 10.10サーバーを実行しているPHP Webサイトを別のunbutu 12.04サーバーに移行しました。現在、一部の php 関数は廃止されており、探している正しい「パス」が見つからないものもあります。古いサーバーはphp 5.3.3を実行していましたが、新しいサーバーにはphp 5.3.10があります(したがって、大きな違いはありません)

いくつかのリンクは次のように書かれていました:

"../modules/xxx.php"

名前をフルパスに変更したところ、機能しています。

ウェブサイトが古いサーバーで完全に機能しているため、構成は「OK」である必要があります。このエラーには php のバージョン以外の理由があると思いますか? テストのために、新しいサーバーでphpを5.3.3にダウングレードすることを考えています....しかし、他の理由があるかもしれない場合は、そうしません。

いくつかのエラーの例:

 Deprecated: Function split() is deprecated in /data/
 Warning: include(modules/mdl_users/settings.conf.php): failed to open stream: No such file or directory in /data/xxx/www/classes/module.class.php on line 35

パスの一部がこのような関数によって書き込まれた場合、彼はファイルを開くことができません

include($this->registry->admin_path."modules/".$this->name."/settings.conf.php"

明らかにphpの設定が何らかの形で変更されています。Web サイトは私のものではないため、100 個のパスを手動で変更したくありません。ダウングレードするとこの問題は「修復」されると思いますか?

前もって感謝します

4

2 に答える 2

1

split()関数は、PHP 5.3.0 で非推奨になりました。この機能に依存することはお勧めできません。

preg_split()は、この関数の代替として推奨されます。正規表現の力を必要としない場合は、explode()を使用する方が高速です。

于 2013-08-19T13:28:34.053 に答える