使用编译的方式来安装 PHP 7。php
输入 yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel mhash gd gd-devel
进行安装,能够根据本身的实际状况进行调整。html
接着是下载安装包,根据本身的需求进行选择。下载完成后进行解压mysql
能够使用 ./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
nginx
接下来是 make && make install
sql
一个插曲,错误信息是 virtual memory exhausted: Cannot allocate memory
。segmentfault
增长虚拟内存
一、dd if=/dev/zero of=/swap bs=1024 count=204800 二、mkswap /swap 三、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
centos
/usr/local/php/ext/php-fpm.conf
中 pid
的内容,pid=/usr/local/php/var/run/php-fpm.pid
以前介绍过添加系统服务和开机启动,这里不作过多介绍。在 /usr/lib/systemd/system
目录中添加 php-fpm.service
文件,内容以下php7
[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
设置开机启动。curl
最后一步就是修改 Nginx 的配置文件socket
参考资料:Unix 系统下的 Nginx 1.4.x、CentOS 7 编译安装PHP 7.0.2、 PHP编译参数configure配置详解(持续更新中)、Centos 7源码编译安装 php7.2 之生产篇。