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 端口了。
配置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