引言

在CentOS上编译安装PHP 5.6是一个相对复杂的过程,但对于那些需要特定版本或功能集的开发者来说,这是一个非常有用的技能。本文将详细指导您如何在CentOS系统上编译安装PHP 5.6,包括准备工作、下载安装包、编译依赖、配置、编译、安装以及配置PHP-FPM。

准备工作

在开始之前,请确保您的CentOS系统已更新到最新状态,并且安装了所有必要的依赖。

sudo yum update -y
sudo yum install -y gcc make libxml2 libxml2-devel

下载PHP 5.6源码

从PHP官方网站下载PHP 5.6的源码压缩包。

wget http://php.net/distributions/php-5.6.32.tar.gz
tar -zxvf php-5.6.32.tar.gz
cd php-5.6.32

配置PHP

在编译PHP之前,您需要配置它以包含所需的模块和特性。

./configure --prefix=/usr/local/php --enable-fpm --with-mysql --with-pdo --with-gd --with-zlib

这里我们启用了以下模块:

  • --enable-fpm:启用PHP-FPM作为FastCGI进程管理器。
  • --with-mysql:启用MySQL支持。
  • --with-pdo:启用PDO(PHP Data Objects)支持。
  • --with-gd:启用图形处理库GD支持。
  • --with-zlib:启用Zlib支持。

编译和安装PHP

配置完成后,编译并安装PHP。

make && sudo make install

这将编译PHP并安装到您指定的目录中。

配置PHP-FPM

PHP-FPM是PHP的FastCGI进程管理器,负责处理PHP请求。

  1. 复制默认的配置文件到您的配置目录。
sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  1. 编辑php-fpm.conf文件以设置正确的用户和组。
sudo vi /usr/local/php/etc/php-fpm.conf

找到usergroup行,并将它们更改为运行PHP-FPM的用户和组,例如www

  1. 启动PHP-FPM。
sudo /usr/local/php/sbin/php-fpm
  1. 检查PHP-FPM服务状态。
sudo systemctl status php-fpm

配置Web服务器

现在您需要配置您的Web服务器(如Apache或Nginx)以使用PHP。

配置Apache

  1. 编辑Apache配置文件。
sudo vi /etc/httpd/conf/httpd.conf
  1. 添加以下行到配置文件中:
LoadModule php7_module modules/libphp7.so
AddHandler application/x-httpd-php .php
  1. 重新启动Apache。
sudo systemctl restart httpd

配置Nginx

  1. 编辑Nginx配置文件。
sudo vi /etc/nginx/nginx.conf
  1. 添加以下行到配置文件中:
server {
    listen 80;
    server_name localhost;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
  1. 重新加载Nginx配置。
sudo systemctl reload nginx

测试PHP安装

现在您已经配置好了PHP和PHP-FPM,您可以通过创建一个简单的PHP文件来测试安装。

  1. 在Web服务器的文档根目录下创建一个名为info.php的文件,并添加以下内容:
<?php phpinfo(); ?>
  1. 打开浏览器并访问http://localhost/info.php,您应该看到PHP的信息页面。

结论

通过编译安装PHP 5.6,您可以在CentOS上获得一个高度可定制的PHP环境。这个过程虽然复杂,但提供了更多的灵活性和控制。希望本文能帮助您成功地在CentOS上编译和安装PHP 5.6。