HCRM博客

如何在CentOS系统上安装并配置PHP 5.6?

CentOS 7 安装 PHP 5.6 详细指南

一、前言

如何在CentOS系统上安装并配置PHP 5.6?-图1
(图片来源网络,侵权删除)

在现代的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

解压下载的源码包:

如何在CentOS系统上安装并配置PHP 5.6?-图2
(图片来源网络,侵权删除)
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

复制配置文件模板

将默认的配置文件模板复制到合适的位置:

如何在CentOS系统上安装并配置PHP 5.6?-图3
(图片来源网络,侵权删除)
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已成功安装并正常工作。

分享:
扫描分享到社交APP
上一篇
下一篇