最近在安装
Zabbix
管理工具的时候遇到了PHP
安装的问题,折腾了一阵,总算搞定,期间查了一些资料,分享出来,供大家参考,少走些弯路.
更新软件源[1]
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
wget http://rpms.remirepo.net/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6.rpm epel-release-latest-6.noarch.rpm
安装PHP7[2][3]
yum install PHP70-PHP PHP70-PHP-pear PHP70-PHP-bcmath PHP70-PHP-pecl-jsond-devel PHP70-PHP-MysqLnd PHP70-PHP-gd PHP70-PHP-common PHP70-PHP-fpm PHP70-PHP-intl PHP70-PHP-cli PHP70-PHP PHP70-PHP-xml PHP70-PHP-opcache PHP70-PHP-pecl-apcu PHP70-PHP-pecl-jsond PHP70-PHP-pdo PHP70-PHP-gmp PHP70-PHP-process PHP70-PHP-pecl-imagick PHP70-PHP-devel PHP70-PHP-mbstring PHP70-PHP-mcrypt
查看PHP70和PHP70-PHP-fpm的安装路径[4]
rpm -qa PHP70
# PHP70-1.0-5.el6.remi.x86_64
rpm -ql PHP70-1.0-5.el6.remi.x86_64
(contains no files)
#######
rpm -qa PHP70-PHP-fpm
# PHP70-PHP-fpm-7.0.8-1.el6.remi.x86_64
rpm -ql PHP70-PHP-fpm-7.0.8-1.el6.remi.x86_64
# /etc/logrotate.d/PHP70-PHP-fpm
# /etc/opt/remi/PHP70/PHP-fpm.conf # PHP-fpm的配置文件
# /etc/opt/remi/PHP70/PHP-fpm.d
# /etc/opt/remi/PHP70/PHP-fpm.d/www.conf # www的配置文件
# /etc/opt/remi/PHP70/sysconfig/PHP-fpm
# /etc/rc.d/init.d/PHP70-PHP-fpm
# /opt/remi/PHP70/root/usr/sbin/PHP-fpm # 二进制的位置
# /opt/remi/PHP70/root/usr/share/doc/PHP70-PHP-fpm-7.0.8
# /opt/remi/PHP70/root/usr/share/doc/PHP70-PHP-fpm-7.0.8/fpm_LICENSE
# /opt/remi/PHP70/root/usr/share/doc/PHP70-PHP-fpm-7.0.8/PHP-fpm.conf.default
# /opt/remi/PHP70/root/usr/share/doc/PHP70-PHP-fpm-7.0.8/www.conf.default
# /opt/remi/PHP70/root/usr/share/fpm
# /opt/remi/PHP70/root/usr/share/fpm/status.html
# /opt/remi/PHP70/root/usr/share/man/man8/PHP-fpm.8.gz
# /var/opt/remi/PHP70/lib/PHP/opcache
# /var/opt/remi/PHP70/lib/PHP/session
# /var/opt/remi/PHP70/lib/PHP/wsdlcache
# /var/opt/remi/PHP70/log/PHP-fpm
# /var/opt/remi/PHP70/run/PHP-fpm
可以看到,rpm -ql PHP70-PHP-fpm-7.0.8-1.el6.remi.x86_64
并没有列出PHP70
的文件详细信息,根据[5]中的解释,yum
默认把软件包安装在以下位置
为PHP
和PHP-fpm
制作符号链接
cp /usr/bin/PHP{,.bak}
ln -s /usr/bin/PHP70 /usr/bin/PHP
cp /usr/sbin/PHP-fpm{,.bak}
ln -s /opt/remi/PHP70/root/usr/sbin/PHP-fpm /usr/sbin/PHP-fpm
检查并启动PHP-fpm
PHP -v
# PHP 7.0.8 (cli) (built: Jun 22 2016 11:05:30) ( NTS )
# Copyright (c) 1997-2016 The PHP Group
# Zend Engine v3.0.0,Copyright (c) 1998-2016 Zend Technologies
# with Zend OPcache v7.0.8,Copyright (c) 1999-2016,by Zend Technologies
PHP-fpm -v
# PHP 7.0.8 (fpm-fcgi) (built: Jun 22 2016 11:06:37)
# Copyright (c) 1997-2016 The PHP Group
# Zend Engine v3.0.0,by Zend Technologies
PHP -i|less
# Configuration File (PHP.ini) Path => /etc/opt/remi/PHP70
# Loaded Configuration File => /etc/opt/remi/PHP70/PHP.ini# 配置文件PHP.ini的位置
service PHP-fpm restart # 启动PHP-fpm
ps aux|grep PHP-fpm
# 或者
lsof -P -i:9000 # PHP-fpm默认监听9000端口,该配置可以在`PHP-fpm`特定于`www`的配置文件(`/etc/opt/remi/PHP70/PHP-fpm.d/www.conf`)中的`listen`参数修改
(可选)修改配置文件
从上面的步骤中,我们知道了:
1. PHP
的配置文件(PHP.ini
)在
/etc/opt/remi/PHP70/PHP.ini
. 我们可以修改post_max_size
,max_execution_time
,max_input_time
,date.timezone
等. 其中date.timezone
根据[6]的描述,可以设置为Asia/Shanghai
2. PHP-fpm
特定于www
的配置文件在/etc/opt/remi/PHP70/PHP-fpm.d/www.conf
.我们可以修改监听端口listen
,运行的用户名user
和用户组group
等.
3. 以上任意2个文件修改完成后,都只需要重启PHP-fpm
即可: service PHP-fpm restart
参考
[1]English : Repository Configuration
[2]Install PHP7 from Remi repo
[3]How to Install PHP 7 on CentOS 7 (Red Hat/Fedora family)