centos安装PHP扩展(bcmath)

 每日运维   2019-08-13 16:12   45 人阅读  0 条评论

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命令即可.

image.png

#/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(),惊喜发现:

image.png

在执行phpize之后没有生成configure文件,说明没有安装autoconf

yum -y install autoconf


本文地址:https://linux365.cn/post/12.html
版权声明:本文为原创文章,版权归 每日运维 所有,欢迎分享本文,转载请保留出处!

评论已关闭!