今天裝了一台 PHP 5.3.4 + MySQL 4.1.27 ... 拿了一個很舊的 phpMyAdmin 2.10.1 來 run

一開首頁就會噴出一堆錯誤

Deprecated: Function eregi() is deprecated in /path/to/phpMyadmin/libraries/select_lang.lib.php on line 143

if (($envType == 1 && eregi('^(' . $expr . ')(;q=[0-9]\\.[0-9])?$', $str))
            || ($envType == 2 && eregi('(\(|\[|;[[:space:]])(' . $expr . ')(;|\]|\))', $str))) {

要把上面二行替代成這樣

if (($envType == 1 && preg_match('/^(' . $expr . ')(;q=[0-9]\\.[0-9])?$/', $str))
            || ($envType == 2 && preg_match('/(\(|\[|;[[:space:]])(' . $expr . ')(;|\]|\))/', $str))) {

修完這個問題之後,又跳出了下面這訊息

Deprecated: Function ereg_replace() is deprecated in /path/to/phpMyAdmin/libraries/check_user_privileges.lib.php on line 26

$show_grants_dbname = ereg_replace('^`(.*)`', '\\1',  $show_grants_dbname);

要把上面行再替換成這樣就好了

$show_grants_dbname = preg_replace('/^`(.*)`/i', '\\1',  $show_grants_dbname);

可以參考這篇文章 [ PHP ] PHP 5.2.X 升級 PHP 5.3.X 後不宜使用的function

官網說明:Deprecated features in PHP 5.3.x

arrow
arrow
    全站熱搜

    Bojack 發表在 痞客邦 留言(0) 人氣()