ホームページ  >  記事  >  バックエンド開発  >  PHP5.3で無効な関数が発生した場合の対処方法について

PHP5.3で無効な関数が発生した場合の対処方法について

WBOY
WBOYオリジナル
2016-06-13 13:25:34947ブラウズ

PHP5.3における無効な関数の処理方法について
コピー&ペースト...

無効な関数は以下の通りです:

call_user_method() (代わりにcall_user_func()を使用してください)

call_user_method_array () (代わりに call_user_func_array() を使用します)

define_syslog_variables()

dl()

ereg() (代わりに preg_match() を使用します)

ereg_replace () (preg_replace() を使用して置換します)

eregi() ('i' 修飾子を付けた preg_match() を使用して置換します)

eregi_replace() (preg_replace を使用します) () 'i' を変更した set_magic_quotes_runtime() とそのエイリアス関数 magic_quotes_runtime()

[color=olive]session_register() ($_SESSION を使用してすべての変数を置き換えます)

session_unregister () ( $_SESSION を使用してすべての変数を置き換えます)

session_is_registered() ($_SESSION を使用してすべての変数を置き換えます)

set_socket_blocking() (stream_set_blocking() を使用して置き換えます)

分割() (代わりに preg_split() を使用します)

split() (代わりに 'i' 修飾子を付けて preg_split() を使用します)

sql_regcase()

mysql_db_query( ) (代わりに mysql_select_db() と mysql_query() を使用してください)

mysql_escape_string() (代わりに mysql_real_escape_string() を使用してください)

ロケール名を文字列として渡すことは非推奨です。代わりに LC_* ファミリの定数を使用してください。

mktime() の is_dst パラメーター。代わりに新しいタイムゾーン処理関数を使用します。

処理方法: editplus エディターで、正規表現

を ereg( )、eregi( ):

を preg_match に置き換えます | ereg("([^"]+)" は次のように置き換えられます: preg_match("/1/"

| ereg('([ ^"]+)' は次のように置き換えられます: preg_match('/1/'

eregi("([^"]+)" は次のように置き換えられます: preg_match("/1/i"

eregi('([^" ]+)' は次のように置き換えられます: preg_match('/1/i'

ereg_replace()、eregi_replace() を置き換えます:
ereg_replace("([^"]+ )" は次のように置き換えられます: preg_replace("/1/"

ereg_replace('([^"]+)' は次のように置き換えられます: preg_replace('/1 /'

ereg_ireplace("([ ^"]+)" は次のように置き換えられます: preg_replace("/1/i"

ereg_ireplace('([^"]+)' は置き換えられますby: preg_replace('/1/i'

ereg_replace の最初のパラメータが正規表現でない場合は、str_replace に直接置き換えることができます

Split は、explode または preg_split に置き換えられます


------解決策- ------------------

「ロケール名を文字列として渡すのをやめてください。代わりに LC_* シリーズの定数を使用してください。」この文は何を意味しますか?

------解決策------------------

ディスカッション

「ロケール名を文字列として渡すのをやめて、代わりに LC_* シリーズ定数を使用してください。」
この文は何を言いますか?



------解決策------------------

を置き換える
=& use = もあるようです。プロジェクトは最近 5.3 に移行されたばかりですが、私が作成した拡張機能がサポートされていないため、他のテストには影響がありません。それはとても幸運なことです。

------解決策------------------

5.2 に戻る~ 簡単な場合は、define を使用できます。
その他の場合は、コードを正規表現に置き換えることができます。

------解決策------------------

うーん、わかりました

Discussion
5.3.0 この関数は、文字列がカテゴリ パラメータの代わりにカテゴリ パラメータに渡された場合に E_DEPRECATED 通知をスローするようになりました。 LC_* 定数。
string setlocale ( int $category , string $locale [, str……



------解決策------------------

を学習しました
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。