Centos6 编译PHP7步骤

下载最新的PHP版本,此时的PHP最新版本为php-7.1.7

首先先装上一堆依赖:

[root@localhost src]# yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel

开始安装PHP7:

[root@localhost src]# tar -zxvf php-7.1.7.tar.gz

[root@localhost src]# cd php-7.1.7

[root@localhost php-7.1.7]# ./configure \

> --prefix=/usr/local/php7 \

> --with-config-file-path=/usr/local/php7/etc \

> --with-apxs2=/usr/local/apache2/bin/apxs \

> --with-pdo-mysql=mysqlnd \

> --with-mysqli=mysqlnd \

> --with-mysql-sock=/var/lib/mysql/mysql.sock \

> --with-libxml-dir=/usr/local/libxml2 \

> --with-png-dir=/usr/local/libpng \

> --with-jpeg-dir=/usr/local/jpeg \

> --with-freetype-dir=/usr/local/freetype \

> --with-gd=/usr/local/gd \

> --with-zlib-dir=/usr/local/zlib \

> --with-mcrypt=/usr/local/libmcrypt \

> --with-xpm-dir=/usr/lib64 \

> --enable-soap \

> --enable-mbstring=all \

> --enable-mysqlnd \

> --enable-sockets \

> --enable-fpm \

> --enable-fastcgi \

> --enable-opcache

上面编译时配置支持了很多东西,可按需要进行添加,检查没有错误,就可以进行安装,若有错误,则根据提示依次安装相关依赖库。

然后就可以开始编译安装了:

[root@localhost php-7.1.7]# make

[root@localhost php-7.1.7]# make install
安装完成后,将源码包中的配置文件复制到PHP安装目录下

[root@localhost php-7.1.7]# cp php.ini-development /usr/local/php7/etc/php.ini

复制php-fpm配置文件:

[root@localhost php-7.1.7]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf

[root@localhost php-7.1.7]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

复制php-fpm启动脚本,用于启动php-fpm

[root@localhost php-7.1.7]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm

[root@localhost php-7.1.7]# chmod 755 /etc/init.d/php7-fpm

启动php-fpm:

[root@localhost php-7.1.7]# /etc/init.d/php7-fpm start

php-fpm支持的操作:

start:启动PHP的FastCGI进程

stop:强制终止PHP的FastCGI进程

quit:平滑终止PHP的FastCGI进程

restart:重启PHP的FastCGI进程

reload:重新加载PHP的php.ini

logrotate:重新启用log文件

切换PHP版本,修改PHP的环境变量:

[root@localhost php-7.1.7]# vim /etc/profile

PATH=/usr/local/php/bin:$PATH
export PATH

将这里的路径切换成PHP7的安装路径,即可切换成php7的版本了

[root@localhost php-7.1.7]# source /etc/profile

当需要为PHP添加扩展时,在Linux下需要进行编译,例如安装openssl扩展:

首先进入源码安装包中ext下的openssl目录中

[root@localhost openssl]# phpize

发现会报错:

Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module

这时需要再将该目录下的config0.m4复制到config.m4中

[root@localhost openssl]# cp config0.m4 config.m4

[root@localhost openssl]# phpize

[root@localhost openssl]# ./configure --with-php-config=/usr/local/php7/bin/php-config

[root@localhost openssl]# make

[root@localhost openssl]# make install

然后再修改php.ini添加extension=openssl.so即可

此时若重启Apache,则会报如下错误:

/etc/init.d/httpd: line 80: 1612 Segmentation fault $HTTPD -k $ARGV

这是因为Apache配置模块加载错误导致的,修改Apache配置文件httpd.conf:

#LoadModule php5_module module/libphp5.so

LoadModule php7_module module/libphp7.so

此时再次重启httpd服务即可。

发布了40 篇原创文章 · 获赞 51 · 访问量 28万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章