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扩展已经安装成功!