Categories

Tags

在编译安装好的php基础上安装php扩展

php是使用源码编译安装的,现在需要添加mbstring扩展
可以使用命令 php -m 来查看已加载的扩展

这里需要用到phpize ,phpize是官方提供的一个动态添加扩展的工具
检查是否有phpize
执行 whereis phpize 或者find / -name phpize
提示
phpize: /usr/local/bin/phpize 说明可用
进入需要编译安装的扩展目录(php安装包的ext目录)

cd /php-7.1.2/ext/mbstring

输入命令 /usr/local/bin/phpize 命令执行完毕后,目录里面会生成几个文件,有configure.. ,
先找到php-config的目录
执行whereis php-config或者find / -name php-config
我这里显示的是 php-config: /usr/local/bin/php-config
然后执行

./configure --with-php-config=/usr/local/bin/php-config  #命令(这里的目录对应你显示的php-config目录)

./configure命令后面带—的都是参数设置,具体扩展有哪些参数设置,详情可以使用 ./configure —help 查看
执行

make && make install

命令执行完毕后,它会提示你一个路径,这个路径里面就是我们编译的好的扩展,

修改php.ini配置文件

vi /usr/local/etc/php.ini

添加一行

extension=mbstring.so


重启php-fpm和nginx

/etc/init.d/php-fpm restart
/usr/local/nginx/sbin/nginx -s reload

完成以上步骤一般就可以的了,如果还是加载不了,查看php_info()里面的信息
其中 Configuration File (php.ini) Path 显示的值为/usr/local/lib
而我的/usr/local/lib目录下没有php.ini文件

把php.ini复制到/usr/local/lib下,

cp /usr/local/php/etc/php.ini /usr/local/lib

重启php-fpm和nginx

==============================
安装pdo_mysql扩展,步骤同上

cd /php-7.1.2/ext/pdo_mysql

这里不同:

./configure --with-php-config=/usr/local/bin/php-config --with-pdo-mysql=/usr/local/mysql

修改php.ini,加上

extension=pdo_mysql.so

===============================