會員登入 新朋友?立刻註冊
[說明]
文章會慢慢移新精讚 //n.sfs.tw
2019/2/23 星期六     [文章分類及列表]
精讚Blog logo 部落格是自己寫爽的
精讚部落 > 網際技術 > APACHE
PHP升級5.2.6=> 5.3.8 的處理 次要群組 [系統應用::FREEBSD] 列印 推薦
作者或來源 瘦河馬 2011-10-28 16:52:46
關鍵字 1php升級
此文完整連結 http://n.zipko.info/718.html
文章歡迎轉載,請尊重版權註明連結來源。

PHP升級5.2.6 => 5.3.8 的處理

今天不得已得升級php ,發現很多原來的函式不能用,模組也出現問題,升完發現很多模組都不能用得重裝。

    原PHP版本 PHP/5.2.6 with Suhosin-Patch configured

    新PHP版本 PHP 5.3.8 with Suhosin-Patch (cli)

    OS FreeBSD 7.1-RC1

CASE 1. PHP Deprecated:  Function split() is deprecated

  SOLVE  將split 這個函數改成explode解決。

CASE 2. PHP Fatal error:  Call to undefined function mb_strlen()

  SOLVE 安裝 php 的 mbstring 函數庫

  # cd /usr/ports/converters/php5-mbstring; make install;

CASE 3. Deprecated: Function session_register() is deprecated

  將 session_register('varname') 改為 $_SESSION['varname']

CASE 4. Function ereg_replace() is deprecated

 將 ereg_replace 改為 preg_replace

  ex:

    $str= ereg_replace("-", '_', $string);

change to

    $str = preg_replace("/-/", '_', $string);  

CASE 5.  PHP Fatal error:  Call to undefined function curl_init() in ...

  # cd  /usr/ports/ftp/php5-curl

  # make install

CASE 6. [warn] (22)Invalid argument: Failed to enable the 'httpready' Accept Filter

之前的處理方法沒用,還在找正確的原因。

CASE 7. PHP Deprecated:  mktime() [<a href='function.mktime'>function.mktime</a>]: The is_dst parameter is deprecated in ...

把 mktime()函數的最後一個參數拿掉就ok了

CASE 7. PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20090626/pcre.so' - Cannot open &quot;/usr/local/lib/php/20090626/pcre.so&quot; in Unknown on line 0

檢查 /usr/local/lib/php/20090626/ 沒有 pcre.so

# cd /usr/ports/devel/pcre; make install;  後,無法產生 pcre.so ,同時 php5-extensions 也沒有這個項目

這個不再需要了,所以可以 mark 

/usr/local/etc/php/extensions.ini

;extension=pcre.so

CASE 8. PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20090626/bz2.so' - Cannot open &quot;/usr/local/lib/php/20090626/bz2.so&quot; in Unknown on line 0

# cd archivers/php5-bz2/; make install;

CASE 9. PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20090626/apc.so' - Cannot open &quot;/usr/local/lib/php/20090626/apc.so&quot; in Unknown on line 0

# cd /usr/ports/www/pecl-APC/; make install

CASE10. PHP Warning: Module 'modulename' already loaded in Unknown on line 0

可能原因為 PHP 5.3 已經有內建這些模組,因此把動態模組移除(標記);或是在動態模組中寫了兩次(多半發生在deinstall reinstall之後)

/usr/local/etc/php/extensions.ini

;extension=modulename.so

CASE 11 Phpmysql 2.11出現錯誤

Deprecated: Function ereg_replace() is deprecated in...

修改:libraries/select_lang.lib.php 第147 行為:

        $matchpattern = "/^({$expr})(;q=[0-9].[0-9])?$/";
        if (($envType == 1 && preg_match( $matchpattern , $str))

libraries/check_user_privileges.lib.php 第34行:

由        $show_grants_dbname = ereg_replace('^`(.*)`', '1',  $show_grants_dbname);  修改為:

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

修改完就能在 php5.3的版本下使用了(畢竟我還是覺得phpmyadmin2.11版比3.x版的介面習慣多了)

其他說明:

# php -m 顯示目前的模組

# php -i 顯示 phpinfo()的東西

# php -v 顯示 php版本及掛載(有錯誤會顯示)

工作時順便看文章:不要請設計師找貓,超爆笑

 

END
F B 留 言 版

留言結束請重新整理網頁顯示留言
相 關 文 章
同 群 組 其 他 文 章
隨 機 文 章
精讚部落版權所有(c) JinZan Blog http://n.zipko.info Author axer@tc.edu.tw. 最佳瀏器為Firefox,本網頁不支援IE6。[文章分類及列表]
本站最佳瀏覽解析度1024x768 網站建置 2009.11