關於PHP5.3作廢函數的處置方法
來源:互聯網
上載者:User
關於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() (使用 preg_match() 配合 ‘i’ 修正符替代)
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() 替代)
split() (使用 preg_split() 替代)
spliti() (使用 preg_split() 配合 ‘i’ 修正符替代)
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():用preg_replace()替換
ereg_replace\("([^"]+)"替換為:preg_replace("/\1/"
ereg_replace\('([^"]+)'替換為:preg_replace('/\1/'
ereg_ireplace\("([^"]+)"替換為:preg_replace("/\1/i"
ereg_ireplace\('([^"]+)'替換為:preg_replace('/\1/i'
如果 ereg_replace 的第一個參數不是Regex,可以用 str_replace 直接來替換
split用explode替換或preg_split替換
------解決方案--------------------
"廢棄以字串傳遞地區設定名稱. 使用 LC_* 系列常量替代"
這句說的啥?
------解決方案--------------------
探討
"廢棄以字串傳遞地區設定名稱. 使用 LC_* 系列常量替代"
這句說的啥?
------解決方案--------------------
貌似還有
=&使用=替換
最近剛把項目移到5.3,除了自己寫的擴充不支援,其它測試下來沒有任何影響,還算幸運。
------解決方案--------------------
裝回5.2去吧~
簡單的地方可以用 define
另一些你可以把你的代碼用正則替換下。
------解決方案--------------------
hmm, 明白了
探討
5.3.0 This function now throws an E_DEPRECATED notice if a string is passed to the category parameter instead of one of the LC_* constants.
string setlocale ( int $category , string $locale [, str……
------解決方案--------------------
學習了