Linux下编译安装PHP7

September 14, 2016 2:33 PM

前言

PHP7性能大幅度的提升,是我们广大PHPer们的福音,感谢鸟哥等为PHP付出的人。

安装依赖

yum install libxml2 libxml2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel libmcrypt libmcrypt-devel libtool-ltdl-devel gd openssl openssl-devel freetype freetype-devel gettext-devel

编译安装

./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-mcrypt=/usr/include \
--with-mysqli \
--with-pdo-mysql \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache

make & make install

php-fpm配置

Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。PHP-FPM是一个PHP FastCGI管理器,新版的PHP已经集成了php-fpm,在./configure的时候带–enable-fpm参数即可开启PHP-FPM

chmod 755 /usr/local/php7/var/log/

cd /usr/local/php7/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

#打开 error_log这一行的注释,默认该项被注释掉,若不修改会出现提示log文件路径不存在
error_log = /usr/local/php7/var/log/php-fpm.log

#打开inclue这一行的注释

include=/usr/local/php7/etc/php-fpm.d/ *.conf
vi  /usr/local/php7/etc/php-fpm.d/www.conf 


# 如果这个文件不存在,就从default复制一份
cd /usr/local/php7/etc/php-fpm.d/
cp www.conf.default www.conf


# 将配置文件中的 user 和 group 部分的 nobody 改成nginx



#加入系统变量
echo "PATH=$PATH:/usr/local/php7/bin">> /etc/profile
echo "export PATH">> /etc/profile

source /etc/profile

#复制PHP配置文件
cp php.ini-production /usr/local/php7/etc/php.ini


cd sapi/fpm/
cp init.d.php-fpm  /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm


#如果想让它开机启动,执行:
chkconfig php-fpm on


#启动php-fpm
/usr/local/php/sbin/php-fpm 或 service php-fpm start


#如发现端口占用
netstat -lntup | grep 9000
killall php-fpm