CentOS 系统下 PHP 怎么添加扩展?
先决环境
centOS7.5
php7.3
开始安装
以安装openssl扩展为例,如果没有下载好源码包需先下载
-
编译源码
我的openssl源码在/usr/local/src/php/extension/openssl目录下cd /usr/local/src/php/extension/openssl
运行phpize命令
运行./configure --with-php-config=/usr/local/php/bin/php-config命令
运行make & make install
如果报错pcntl.lo' is not a valid libtool object或者其他类似not a valid libtool object的错误
运行make cleanmake install执行成功之后会产生一个.so文件,记住这个文件的位置phpize可能会出现以下错误Cannot find config.m4. Make sure that you run '/opt/local/bin/phpize' in the top level source directory of the module将
config0.m4改名为config.m4或者直接·cp config0.m4 config.m4就可以解决 -
配置扩展
使用php --ini命令找到php.ini文件的位置
定位到配置文件位置
在php.ini配置文件中添加以下内容#我的.so文件统一放在/usr/local/lib/php/extension目录下 extension_dir="/usr/local/lib/php/extension" extension=openssl.so -
重启php
找到php-fpm master进程ps aux | grep php-fpm root 2367 0.0 0.5 212856 5764 ? Ss Feb22 0:03 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) www-data 2368 0.0 0.5 214940 5680 ? S Feb22 0:00 php-fpm: pool www www-data 2369 0.0 0.5 214940 5680 ? S Feb22 0:00 php-fpm: pool www root 13193 0.0 0.0 110276 900 pts/0 R+ 23:15 0:00 grep --color=auto php-fpmpid是2367
重启这个进程kill -USR2 2367INT, TERM立刻终止QUIT平滑终止USR1重新打开日志文件USR2平滑重载所有worker进程并重新载入配置和二进制模块
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: