本篇文章给大家带来的内容是关于CentOS7编译安装PHP7的详细教程(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
使用编译的方式来安装 PHP 7。
安装编译工具、依赖包
输入 yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel mhash gd gd-devel 进行安装,可以根据自己的实际情况进行调整。
下载及解压安装包
接着是下载安装包,根据自己的需求进行选择。下载完成后进行解压
![b6b445a558cdab499af3b68b631b74fa.png](https://i-blog.csdnimg.cn/blog_migrate/141ddc1d88d9354d553d0a632c3cc685.jpeg)
配置及编译
可以使用 ./configure --help 查看都有哪些配置选项,也可以查看下方参考资料中的文章。选择解压后的目录 `/usr/local/src/php-7.2.12
`, 修改几个配置做示例,如下
./configure --prefix=/usr/local/php --enable-ftp --enable-zip --enable-fpm --with-pdo-mysql --with-jpeg-dir --with-png-dir --with-gd --with-curl --enable-mbstring --enable-bcmath --enable-sockets
![6eed340023a958b5656bc526871ecead.png](https://i-blog.csdnimg.cn/blog_migrate/c4a9e59eddc2c096550451cda0b0fb7f.jpeg)
接下来是 make && make install
![4342e42858b97c184d80ee12ff4b12a7.png](https://i-blog.csdnimg.cn/blog_migrate/fae6ef74e567bc413aee37cdb24cfd49.jpeg)
一个插曲,错误信息是 virtual memory exhausted: Cannot allocate memory。
增加虚拟内存
1、dd if=/dev/zero of=/swap bs=1024 count=204800 2、mkswap /swap 3、swapon /swap free查看,swap不再为0 编译完成后可以swapoff /swap
解决方法来自这里。
创建配置文件
创建配置文件,并将其复制到正确位置,分别执行
cp php.ini-development /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d//www.conf
修改 /usr/local/php/ext/php-fpm.conf 中 pid 的内容,pid=/usr/local/php/var/run/php-fpm.pid
添加进系统服务
之前介绍过添加系统服务和开机启动,这里不做过多介绍。在 /usr/lib/systemd/system 目录中添加 php-fpm.service 文件,内容如下
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=simple
PIDFile=/usr/local/php/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
添加完成,可以使用 systemctl daemon-reload 更新下,然后输入 systemctl start php-fpm 即可开启服务。最后是添加开机启动,输入 systemctl enable php-fpm 设置开机启动。
修改 Nginx 配置
最后一步就是修改 Nginx 的配置文件
![16b69b1eab80c22650293ee94f406b57.png](https://i-blog.csdnimg.cn/blog_migrate/0811ae11e47b1fc043a845f6d00dd4a0.jpeg)
![f446317a0382e3cb40312f27e5a498f1.png](https://i-blog.csdnimg.cn/blog_migrate/4a985071d4dcb25aad6fc81610c8e258.jpeg)
![b74d8dc0fe75da4ea7e1361eb550f4aa.png](https://i-blog.csdnimg.cn/blog_migrate/6359cbb6150c517a3aa575c5c624a20c.jpeg)