Centos6.5 编译安装 PHP 7.1.9

教程 shanhuhai 455℃ 0评论

PHP7 的时代到来了!

编译安装的好处

编译安装比yum 安装的好处是可以定制安装目录,想启用关闭哪些扩展都可以在编译指令里指定。

安装php7.1.9 步骤

1. 创建下载目录

养成好习惯,安装包不要乱丢。

mkdir ~/download
cd ~/download

2. 下载并解压包

wget -c http://cn2.php.net/distributions/php-7.1.9.tar.gz
tar xvzf php-7.1.9.tar.gz
cd php-7.1.9

3.安装依赖包

yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

4. 开始编译

你应该是在 ~/download/php-7.1.9 目录下执行此命令。

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx  \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared  \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir  \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets  \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

其中
--prefix 指定安装目录;
--with-config-file-path 指定 php.ini 配置所在的目录;
--with-fpm-user --with-fpm-group=nginx 指定 启动 php-fpm 使用的Linux 用户名和用户组名,所以如果你还没有nginx 这个用户,你可能需要先创建它们。
其他的请自行 Google。

5. 执行安装

make && make install

6. 配置

cp php.ini-production /etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
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

chmod +x /etc/init.d/php-fpm

7. 启动

/etc/init.d/php-fpm start

这时候php-fpm 就应该启动了,通过
netstat -an | grep 9000, 可以看到 php-fpm 已经在监听 9000 端口了。
查看php-fpm 监听端口

配置Nginx

安装了 php7 想要对外提供web服务,还需要配合nginx , php-fpm 启动默认监听端口是 9000, 通过 nginx 的 fastcgi 可以将对http请求转发到 php-fpm 上来处理。

在你的 nginx 某个虚拟主机配置上添加类似这样的代码

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /$document_root$fastcgi_script_name;
    include        fastcgi_params;
}

这部分的配置根据 nginx 的配置情况略有不同,具体指令请查阅 nginx fastcgi 相关。

如果服务器上已经安装过了php5 怎么办?

这个很简单,如果是文件位置冲突,比如 /etc/init.d/php-fpm 已经存在了,你可以将 php7 的脚本改名为 /etc/init.d/php-fpm7,

如果是端口冲突,可以修改 /usr/local/php/etc/php-fpm.d/www.conf ,将 listen = 127.0.0.1:9000, 修改成另一个端口号,比如 9001, 再到nginx 配置中把 fastcgi 部分指定的端口也改成 9001 的即可。

这样看来,在一个服务器上启动多个版本的 php 都是没问题的,并且可以同时对外提供服务。

转载请注明:大后端 » Centos6.5 编译安装 PHP 7.1.9

喜欢 (6)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址