前言
很多时候, 我们编译安装完php后, 会发现当时漏装了很多扩展. 于是就有了这篇文章由来.
安装
安装php扩展有两种方式, 一种是直接安装,另一种是编译安装.
直接安装
我们以Swoole为示例进行安装
解压提取swoole_loader72.so文件(因为我使用的是php7.2非线程安全)
把文件直接放入
/usr/local/php/php-7.2.31-jjziyuan/lib/php/extensions/no-debug-non-zts-20170718
文件夹下修改php.ini配置文件
#编辑php.ini vim /usr/local/php/php-7.2.31-jjziyuan/etc/php.ini #在命令行模式下输入$跳入末尾 #在php.ini中添加下面命令 extension=swoole_loader72.so
重启php-fpm服务 如果在
php-fpm.conf
开启了pid文件的位置直接执行下面的命令(我的php路径和你的不同)
kill -USR2
cat /usr/local/php/php-7.2.31-jjziyuan/var/run/php-fpm.pid
如果没有开启pid文件位置,执行下面命令
#找到开启的php-fpm进程
netstat -ntpl
#重启该进程
kill -USR2 [PID]
编译安装
我们以安装opcache扩展为演示
下载还没编译的opcache扩展 因为我编译安装php7.2.31中已经携带了opcache,所以我就不用下载了
解压后或者直接进入解压后的文件夹,
cd /usr/local/temp/php-7.2.31/ext/opcache
执行pipzie命令
/usr/local/php/php-7.2.31-jjziyuan/bin/phpize
配置扩展安装的位置
./configure --with-php-config=/usr/local/php/php-7.2.31-jjziyuan/bin/php-config
编译与安装
make && make install
修改php.ini配置文件
#编辑php.ini vim /usr/local/php/php-7.2.31-jjziyuan/etc/php.ini #在命令行模式下输入$跳入末尾 #在php.ini中添加下面命令 zend_extension=opcache.so opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1
重启php-fpm服务 如果在
php-fpm.conf
开启了pid文件的位置直接执行下面的命令(我的php路径和你的不同)
kill -USR2
cat /usr/local/php/php-7.2.31-jjziyuan/var/run/php-fpm.pid
如果没有开启pid文件位置,执行下面命令:
#找到开启的php-fpm进程
netstat -ntpl
#重启该进程
kill -USR2 [PID]
结尾
通过以上方法, 我们缺少哪个扩展就安装哪个扩展, 再也不用害怕少扩展的问题了!