Centos下搭完Mysql+Apache+PHP后,發現有些網頁打開是空白的。
將php.ini里面的參數
error_reporting = E_ALL,display_errors = On,display_startup_errors = On
設置完后,會在網頁上顯示錯誤原因
Fatal error: Call to undefined function bcmath() in /var/www/html/... on line 95
在網上查找原因是由於php沒加上bcmath擴展的原因,於是用下面方法添加了就OK了!
對於phpize安裝,在linux機器上,有yum命令就行。phpize是屬於php-devel的內容,所以只要運行yum install php-devel就行。
東西多容易忘記!寫下來備份;
linux下用phpize給PHP動態添加擴展
使用php的常見問題是編譯php時忘記添加某擴展,后來想添加擴展,但是因為安裝php后又裝了一些東西如PEAR等,不想刪除目錄重裝,這里就需要用到phpize了。
如我想增加bcmath擴展的支持,這是一個支持大整數計算的擴展。windows自帶而且內置,linux“本類函數僅在 PHP 編譯時配置了 --enable-bcmath 時可用”(引號內是手冊中的話)
注意,有些擴展需要和php的版本保持一致才可以的,所以下載php包時盡量保持和已安裝的php包版本一致。比如,我安裝的為php5.1.6,就下載php-5.1.6.tar.gz的包
解壓php-5.1.6.tar.gz包,進入里面的ext/bcmath目錄,然后執行/usr/local/php/bin/phpize,(其實在PHP源碼安裝包里面進行,此處的路徑不絕對,按自己的路徑輸入)phpize在php安裝完以后會有這個命令的, 會發現當前目錄下多了一些configure文件,然后再執行./configure命令即可.
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config
注意要先確保/usr/local/php/bin/php-config存在。 (如果你的php安裝路徑不是默認的,請修改為php安裝的路徑)
如果沒有報錯,則make,再make install ,然后它告訴你一個目錄.
#make
#make install
你把該目錄下的bcmath.so拷貝到你php.ini中的extension_dir指向的目錄中,
修改php.ini,在最后添加一句
extension=bcmath.so
重啟WEB服務,再執行phpinfo(),驚喜發現:
到此bcmath擴展已經安裝成功!