程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP5.3與5.5廢棄與過期函數整理匯總,php5.35.5

PHP5.3與5.5廢棄與過期函數整理匯總,php5.35.5

編輯:關於PHP編程

PHP5.3與5.5廢棄與過期函數整理匯總,php5.35.5


很多PHP程序員都知道,從PHP5.3開始加入了一個新的報錯級別DEPRECATED,即將廢棄/過期。下面我們來一個個版本梳理一下。

在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()
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() 替代
mysql_close(); // 將不支持全部關閉, 需要改為:mysql_close($link);

廢棄以字符串傳遞區域設置名稱. 使用 LC_* 系列常量替代.

mktime() 的 is_dst 參數. 使用新的時區處理函數替代.

PHP 5.4:

mcrypt_generic_end()
mysql_list_dbs()

PHP 5.5:

mcrypt_cbc()
mcrypt_cfb()
mcrypt_ecb()
mcrypt_ofb()

其中,PHP 5.3是廢棄函數的開始,很多常用的以前的正則ereg全部替換preg,但是魔術引號。居然也從PHP 5.3開始棄用,PHP 5.4就移除了。這個算是PHP 5.3的一個大變動吧。

PHP 5.4開始新增了很多特性,這個大家可以網上搜索下,新增很多特殊寫法。可能按照新寫法,老程序員就看不太懂啦~~~
至於PHP 5.5,居然把MYSQL這個擴展去掉了,建議使用MYSQLI或者PDO!!用了5.5很多程序都會報錯,提示mysql_connect即將過期!!會看到如下錯誤:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in E:testnew 6.php on line 6

PHP5相對於4的跨進最大的就是類的部分,而影響更多的就是廢棄這些老習慣的東西吧。雖然版本一直在升級,但是終究市場上還是大量的5.1.6-5.2.17。5.3開始廢棄很多特性,這就導致了很多程序也不敢直接上,5.5.直接秒殺了大量的開源產品!


PHP升級到了PHP53乃至更高的PHP版本 ereg_replace,而這個函數現在在PHP53中已經被廢止了

改成 preg_replace

preg_replace("/\{".$found."\}/", $this->db_prefix.$found, $sql);
試下這樣吧 還不對的話你檢查一下傳的參數是否正確
 

助助PHP53取消函數替換問題

$tmplinkhead=ereg_replace("&maxnum".$this->key."=[0-9]*","",$this->linkhead); $preval=0;這段代碼的ereg_replace怎麼處理?? 查看原帖>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved