做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() //開源軟件:Vevb.com
- 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.直接秒殺了大量開源呵呵~~~
新聞熱點
疑難解答