使用編譯的方式來安裝 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 之生產篇。