解决ThinkPHP出现Call to undefined function bcadd()问题

昨天一个网友在WDCP面板环境中安装ThinkPHP程序的时候出现报错,有提示"Call to undefined function bcadd()"这样提示。根据搜索结果也有看到类似的案例发生,主要是因为ThinkPHP框架程序需要用到PHP bcmath扩展,而在默认我们安装或者编译PHP的时候没有一并编译进来。

我们有两个方法解决这个问题,一来重新编译PHP,把bcmath 重新添加编译,只是这个过程需要一些时间,或者我们下载PHP源码到服务器中,然后类似前天安装soap扩展一样的单独编译enable启动。这里,老蒋选择后者。

第一、选择PHP版本进入目录

这里我看到这位网友使用的是PHP5.3.17而且在当初是从WDCP面板5.2升级的,根目录有的安装包没有删除,所以我就不要去PHP官方网站删除,直接cd进入/ext/bcmath目录。

第二、编译启动bcmath过程

/usr/local/php/bin/phpize

./configure --with-php-config=/www/wdlinux/php/bin/php-config --enable-bcmath

make && make install

执行完毕之后,我们可以看到 :

/www/wdlinux/apache_php-5.3.17/lib/php/extensions/no-debug-non-zts-20090626/

这样子的目录URL地址,这里记录下来,然后添加到对应的PHP版本PHP.INI文件最后一行。

extension=/www/wdlinux/apache_php-5.3.17/lib/php/extensions/no-debug-non-zts-20090626/bcmath.so

第三、重启生效

service httpd restart

解决ThinkPHP出现Call to undefined function bcadd()问题

从探针中可以看到bcmath扩展已经启动生效,安装ThinkPHP程序环境已经没有问题,网友告知已经可以解决问题,看来就是这个扩展作怪导致无法安装,与此同时,如果有缺少其他PHP扩展,也是用这个方法安装。

投上你的一票

本文出处:老蒋部落 » 解决ThinkPHP出现Call to undefined function bcadd()问题 | 欢迎分享( 公众号:老蒋朋友圈 )

公众号 「老蒋朋友圈」获取站长新知 / 加QQ群 【1012423279】获取商家优惠推送