配置环境
-
下载源码包:
wget https://www.php.net/distributions/php-5.6.40.tar.gz
-
解压缩:
sudo tar zxvf php-5.6.40.tar.gz
-
编译:
./configure --prefix=/php --with-mysql=mysqlnd --enable-mbstring --enable-fpm --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock
(添加更多依赖可以输入./configure --help
查看)如果需要编译curl需要在上面语句中加入
--with-curl=curl编译后的目录
,具体curl安装步骤可以查看https://blog.csdn.net/xiaowang_test/article/details/122879370make
sudo make install
配置文件相关
- php的配置文件:
cp php.ini-development /php/etc/php.ini
- 更改其中有关mysql socket的参数,默认为空,把mysqld.sock的地址加上即可
- php-fpm的配置文件:
cp /php/etc/php-fpm.conf.default /php/etc/php-fpm.conf
- 根据Nginx中配置的与php通讯方式更改php-fpm.conf文件,此处用的是socket通讯方式
这是nginx中配置的
在php-fpm的配置文件中更改此处
启动php-fpm
启动时由于php-fpm可能会出现cannot get gid for group ‘nobody’
问题,一种解决方式是将配置文件中用户组改成与Nginx相同;另一种是直接添加一个组
配置好后执行sudo /php/sbin/php-fpm
启动php-fpm
此时发现浏览器打开页面后显示502,后查看Nginx日志发现是由于访问php-fpm.sock权限问题
再给它授权sudo chmod 777 /var/run/php/php-fpm.sock
即可,再次打开浏览器访问成功。
配置php-fpm自启动
先把启动脚本复制到etc下面 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
再添加可执行权限 sudo chmod +x /etc/init.d/php-fpm
参考文章:cnblogs.com/insi2020/p/13696161.html