CentOS 7 安装 PHP 5.6 详细指南
一、前言
在现代的Web开发环境中,PHP作为一种广泛应用的服务器端脚本语言,其版本选择和配置对项目的性能和安全性有着重要影响,尽管新的PHP版本不断推出,但PHP 5.6由于其广泛的支持库和稳定性,仍然是许多旧版项目的首选,本文将详细介绍如何在CentOS 7系统上安装和配置PHP 5.6。
二、准备工作
更新系统
在开始之前,确保你的CentOS系统是最新的:
sudo yum update y
安装必要的依赖
为了顺利进行编译和安装,需要先安装一些必要的依赖包:
sudo yum install y gcc openssldevel libxml2devel libjpegdevel libpngdevel freetypedevel libmcryptdevel libxsltdevel gddevel curldevel libcurldevel
下载PHP 5.6源码
从PHP官方网站下载PHP 5.6.40的源码包:
wget http://us3.php.net/distributions/php5.6.40.tar.gz
解压下载的源码包:
tar zxvf php5.6.40.tar.gz cd php5.6.40
三、安装PHP 5.6
配置PHP安装选项
运行./configure
脚本配置PHP的安装选项:
./configure prefix=/usr/local/php withmysql withpdomysql withmysqli=mysqlnd withjpegdir withpngdir withfreetypedir withzlib withlibdir=/lib64 enablembstring withcurl enableftp withgd withopenssl withmcrypt=/usr/include/php withmhash enablepcntl enablesoap enablesockets enablezip
编译并安装PHP
执行以下命令进行编译和安装:
make && sudo make install
创建符号链接
为了使系统能够找到PHP二进制文件,需要创建符号链接:
sudo ln s /usr/local/php/bin/php /usr/bin/php
四、配置PHP
复制配置文件模板
将默认的配置文件模板复制到合适的位置:
sudo cp /usr/local/php/php.iniproduction /etc/php.ini
编辑/etc/php.ini
文件,根据需求进行调整,设置memory_limit, upload_max_filesize等参数。
配置环境变量
为了使系统能够正确找到PHP的扩展目录和其他资源,需要添加以下内容到~/.bash_profile
文件中:
export PHPRC=/etc export PATH=/usr/local/php/bin:$PATH source ~/.bash_profile
验证安装
运行以下命令验证PHP是否正确安装,并查看PHP版本:
php v
你应该看到类似如下的输出:
PHP 5.6.40 (cli) (built: Aug 8 2019 11:36:39) Copyright (c) 19972016 The PHP Group Zend Engine v2.6.0, Release, Copyright (c) 19982016 Zend Technologies
五、配置Nginx使用PHPFPM
安装Nginx
如果还没有安装Nginx,可以使用以下命令进行安装:
sudo yum install y epelrelease sudo yum install y nginx
启动并使Nginx服务随系统自启动:
sudo systemctl start nginx sudo systemctl enable nginx
安装PHPFPM
PHPFPM是一个用于提高PHP性能的FastCGI进程管理器,可以通过以下命令安装PHPFPM:
cd /usr/local/php/src/sapi/fpm/init.d sudo ./phpfpm start
创建PHPFPM服务文件:
sudo vi /etc/systemd/system/phpfpm.service
添加以下内容:
[Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] Type=simple PIDFile=/usr/local/php/var/run/phpfpm.pid ExecStart=/usr/local/php/sbin/phpfpm nodaemonize ExecReload=/bin/kill USR2 $MAINPID ExecStop=/bin/kill QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multiuser.target
重新加载systemd服务并启动PHPFPM:
sudo systemctl daemonreload sudo systemctl start phpfpm sudo systemctl enable phpfpm
配置Nginx使用PHPFPM
编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
,添加以下内容:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
重启Nginx:
sudo systemctl restart nginx
六、常见问题及解决方案(FAQs)
Q1:为什么安装过程中出现错误提示“无法找到libmcrypt”?
A1:这是因为CentOS官方仓库中没有包含libmcrypt,可以通过以下步骤手动安装:
sudo yum install epelrelease y sudo yum install libmcryptdevel y
如果仍然遇到问题,可以尝试从源码编译安装:
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt2.5.8.tar.gz tar zxvf libmcrypt2.5.8.tar.gz cd libmcrypt2.5.8 ./configure prefix=/usr && make && sudo make install
安装完成后,再次尝试编译PHP。
Q2:如何确认PHP是否已经成功安装并工作正常?
A2:可以通过以下步骤确认:
1、检查PHP版本:
php v
2、创建一个测试PHP文件info.php
如下:
<?php phpinfo(); ?>
3、将该文件放置在Nginx的根目录下(通常是/usr/share/nginx/html
),然后通过浏览器访问http://your_server_ip/info.php
,如果看到PHP信息页面,说明PHP已成功安装并正常工作。