本地開發用到的php版本一定要和服務器版本一樣,否則上傳后會出現很多問題。
本地測試的程序上傳到服務器出現很多錯誤,Deprecated: Function split() is deprecated
查了原因是因為PHP的版本不同所導致的,本身程序開發的時候用的是PHP5.2以下版本,而現在空間上用的是PHP5.3的版本,很多PHP函數已經過時不能用了,這里的這個錯誤原因就是函數split()在 PHP5.3 中已經不建議使用了。
PHP5.3 split() 不建議使用的原因:
PHP 5.3.0 之后的regex, 希望使用PCRE 的規格, POSIX Regex 都不建議使用了(統一Regex, 避免規格太多).
所以下述是不建議使用的Function (POSIX), 與建議替換成的Function (PCRE) 列表, 詳可見: http://www.php.net/manual/en/reference.pcre.pattern.posix.php
* POSIX → PCRE
* ereg_replace() → preg_replace()
* ereg() → preg_match()
* eregi_replace() → preg_replace()
* eregi() → preg_match()
* split() → preg_split()
* spliti() → preg_split()
* sql_regcase() → No equivalent
PHP split() 替代方案
* 需要regex 的split, 可用preg_split() 代替
* 不需要regex, 只要要快速分割固定的字串, 可用explode() 代替. (速度會比需要regex 的快很多)