CentOS PHP 5.6.22 安装与配置指南

简介
CentOS是一个基于Red Hat Enterprise Linux的免费发行版,它提供了稳定、可靠的操作系统环境,PHP是一种流行的服务器端脚本语言,广泛用于开发动态网站和应用程序,本文将详细介绍如何在CentOS上安装和配置PHP 5.6.22。
安装PHP 5.6.22
安装依赖包
在安装PHP之前,需要确保系统中安装了以下依赖包:
sudo yum install -y gcc make autoconf libtool bison ncurses ncurses-devel readline readline-devel zlib zlib-devel glib2 glib2-devel libxml2 libxml2-devel libxslt libxslt-devel openssl openssl-devel curl curl-devel
安装PHP 5.6.22
从官方源下载PHP 5.6.22的源码包:
wget http://download.php.net/distributions/php-5.6.22.tar.gz
解压源码包:
tar -zxf php-5.6.22.tar.gz
进入源码目录:
cd php-5.6.22
运行以下命令进行配置:

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql --with-mysqli --with-pdo-mysql --with-openssl --with-zlib --with-bz2 --with-gd --with-curl --with-xmlrpc --with-xsl --enable-ftp --enable-gd-native-ttf --enable-mbstring --enable-bcmath --enable-sockets --enable-zip
编译并安装:
make && make install
安装PHP扩展
从官方源下载所需扩展的源码包,解压并进入目录,然后执行以下命令:
./configure --with-php-config=/usr/local/php/bin/php-config make && make install
安装MySQL扩展:
wget http://dev.mysql.com/get/Downloads/MySQL-client-5.7.26.tar.gz tar -zxf MySQL-client-5.7.26.tar.gz cd MySQL-client-5.7.26 ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
配置PHP-FPM
创建PHP-FPM配置文件
在/etc/目录下创建一个名为php-fpm.conf的文件,并添加以下内容:
[global] pid = /var/run/php-fpm.pid error_log = /var/log/php-fpm.log log_level = warning [www] user = www group = www listen = /var/run/php-fpm.sock pm = dynamic pm.max_children = 50 pm.start_servers = 10 pm.min_spare_servers = 5 pm.max_spare_servers = 35
创建PHP-FPM服务文件
在/etc/init.d/目录下创建一个名为php-fpm的文件,并添加以下内容:
#!/bin/sh
#
# php-fpm
#
# description: starts the PHP FastCGI Process Manager
#
PATH=/usr/local/php/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH
DESC="php-fpm"
NAME="php-fpm"
DAEMON="/usr/local/php/sbin/php-fpm"
CONFIGFILE="/etc/php-fpm.conf"
LOGFILE="/var/log/php-fpm.log"
# Read configuration variable file if it is present
if [ -r "$CONFIGFILE" ]; then
. "$CONFIGFILE"
fi
# Function that starts the daemon/service
start() {
$DAEMON -c $CONFIGFILE
}
# Function that stops the daemon/service
stop() {
kill -s TERM `cat $LOGFILE`
}
# Function that restarts the daemon/service
restart() {
stop
start
}
# Function that tries to stop the daemon/service in a smart way
try_stop() {
stop
if [ $? -ne 0 ]; then
kill -9 `cat $LOGFILE`
fi
}
# Function that starts the daemon/service in the foreground for debugging
debug() {
$DAEMON -c $CONFIGFILE -d
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
try-restart)
try_stop
start
;;
debug)
debug
;;
*)
echo "Usage: $NAME {start|stop|restart|try-restart|debug}"
exit 1
;;
esac
exit 0 设置PHP-FPM服务文件权限

chmod +x /etc/init.d/php-fpm
启用PHP-FPM服务
chkconfig --add php-fpm
启动PHP-FPM服务
service php-fpm start
FAQs
问题:安装PHP时遇到“configure: error: Could not find MySQL client libraries”错误怎么办?
解答: 确保已经安装了MySQL客户端库,可以使用以下命令安装:
sudo yum install mysql-community-client
问题:PHP-FPM服务无法启动,提示“php-fpm: could not open stream: No such file or directory”错误怎么办?
解答: 确保PHP-FPM配置文件中的
error_log路径存在,并且有写权限,可以使用以下命令创建日志文件并设置权限:sudo touch /var/log/php-fpm.log sudo chown www:www /var/log/php-fpm.log
