Call to undefined function bcmath()的解決方法

樂意黎的ECS主機環境,Centos7.2 + PHP7php

因爲使用了bcdiv()函數,運行時總在拋錯。linux

 

Fatal error: Call to undefined function bcmath() in /usr/loca/apache/htdocs/... on line 4

 

一查得知: php configure 時忘記加了 --enable-bcmath 參數.apache

只能用下面方法來進行添加了

Centos 7.2 下用phpize給PHP動態添加擴展

 

接觸Centos主機沒多長時間, 總結這久,安裝php時參考了別人的配置,編譯php時沒有開啓若干擴展(很大的一個坑啊).windows

在實際使用中拋錯了,再想添加擴展,可是由於安裝php後又裝了其它及設置了一些其它參數,不想卸載後再重裝。php7

這下就須要用到phpize來幫忙了。函數

好比此刻我想增長bcmath擴展的支持,這是一個支持大整數計算的擴展。測試

因爲windows系統是自帶並且內置,linux「本類函數僅在 PHP 編譯時配置了 --enable-bcmath 時可用」(引號內是手冊中的話)spa

我安裝的爲php7.0.12, .net

安裝源文件路徑在 /usr/local/src/php7.0.12rest

php的安裝後路徑 /usr/local/php/

 

進入源文件路徑 :cd /usr/local/src/php7.0.12/ext/bcmath目錄,

而後執行輸入 /usr/local/php/bin/phpize,而後再執行./configure命令便可.

#cd /usr/local/src/php7.0.12/ext/bcmath
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config

注意: 若報

  1. Cannot find config.m4.  

這個錯的緣由是,在執行phpize時,必定要在須要擴展編譯的PHP模塊目錄中進行/usr/local/php/bin/phpize 才行。

 

回車後,若是沒有報錯,則make & make install ,而後它告訴你一個目錄.

#make & make install

( 像網上說的: 把該目錄下的bcmath.so拷貝到php.ini中的extension_dir指向的目錄中, 我沒有進行這一)

修改php.ini,在最後添加一句

extension=bcmath.so

 

ECS -> :wq 保存退出。

重啓Apache 服務

apachectl restart ,

再新建頁面test.php, 內容爲:  <?php phpinfo(); ?> 

測試成功.

代表bcmath擴展已經成功安裝!

相關文章
相關標籤/搜索