CentOS 7环境下从源码编译安装PHP 7.3的详细步骤与配置指南
在CentOS 7上部署PHP环境是许多开发者和系统管理员经常遇到的任务。虽然使用yum包管理器可以快速安装PHP,但版本可能较旧且不灵活。因此,从源码编译安装PHP 7.3不仅能获得最新的功能,还能根据实际需求进行定制。本文将详细介绍在CentOS 7上从源码编译安装PHP 7.3的步骤及其配置方法。
一、准备工作
更新系统
首先,确保系统软件包是最新的:
sudo yum update -y
安装依赖包
安装必要的开发工具和依赖包:
sudo yum install -y epel-release gcc openssl-devel libxml2-devel \
bzip2-devel libcurl-devel libpng-devel libjpeg-devel freetype-devel \
readline-devel sqlite-devel oniguruma-devel
二、下载PHP源码
创建源码目录
在
/usr/local/src
目录下创建一个用于存放PHP源码的目录:
sudo mkdir -p /usr/local/src/php
cd /usr/local/src/php
下载PHP 7.3源码
使用wget下载PHP 7.3的源码包:
sudo wget http://cn2.php.net/distributions/php-7.3.33.tar.gz
sudo tar -zxvf php-7.3.33.tar.gz
cd php-7.3.33
三、编译安装PHP
配置编译选项
运行
configure
脚本进行配置。以下是一个常用的配置示例,根据实际需求可以调整选项:
sudo ./configure –prefix=/usr/local/php \
–with-config-file-path=/usr/local/php/etc \
–enable-fpm \
–with-fpm-user=php-fpm \
–with-fpm-group=php-fpm \
–with-mysql=mysqlnd \
–with-mysqli=mysqlnd \
–with-pdo-mysql=mysqlnd \
–with-zlib \
–with-curl \
–enable-ftp \
–enable-mbstring \
–enable-xml \
–with-libxml-dir \
–with-gd \
–with-jpeg-dir \
–with-png-dir \
–with-freetype-dir \
–enable-gd-native-ttf \
–enable-sockets \
–with-openssl \
–with-mhash \
–enable-zip
编译和安装
运行
make
和
make install
进行编译和安装:
sudo make
sudo make install
四、配置PHP
复制配置文件
将PHP的配置文件模板复制到指定目录:
sudo cp php.ini-production /usr/local/php/etc/php.ini
sudo cp /usr/local/src/php/php-7.3.33/sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
编辑PHP配置文件
编辑
/usr/local/php/etc/php.ini
文件,根据需要调整配置,例如设置时区:
date.timezone = Asia/Shanghai
编辑PHP-FPM配置文件
编辑
/usr/local/php/etc/php-fpm.conf
文件,确保以下配置正确:
user = php-fpm
group = php-fpm
listen = /var/run/php-fpm/php-fpm.sock
五、创建日志路径
创建PHP-FPM的日志文件夹:
sudo mkdir -p /var/log/php-fpm
sudo chown -R php-fpm:php-fpm /var/log/php-fpm
六、启动并验证PHP-FPM服务
创建启动脚本
创建一个PHP-FPM的启动脚本:
sudo cp /usr/local/src/php/php-7.3.33/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
sudo chmod +x /etc/init.d/php-fpm
启动PHP-FPM
使用以下命令启动PHP-FPM服务:
sudo /etc/init.d/php-fpm start
设置开机自启动
将PHP-FPM服务设置为开机自启动:
sudo chkconfig php-fpm on
七、配置Nginx支持FastCGI
安装Nginx
如果尚未安装Nginx,可以使用以下命令安装:
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
编辑Nginx配置文件
编辑Nginx的配置文件,添加对FastCGI的支持:
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
重启Nginx
使配置生效:
sudo systemctl restart nginx
八、测试PHP安装
创建测试文件
在
/var/www/html
目录下创建一个测试PHP文件:
echo “” | sudo tee /var/www/html/info.php
访问测试文件
通过浏览器访问
http://localhost/info.php
,如果看到PHP的配置信息页面,说明PHP环境搭建成功。
九、后续优化与安全
删除测试文件
为了安全起见,删除测试文件:
sudo rm /var/www/html/info.php
配置防火墙
根据实际需求配置防火墙规则,确保服务的安全性。
定期更新
定期检查并更新PHP和相关软件包,确保系统的安全性和稳定性。
结语
通过以上步骤,您已经成功在CentOS 7上从源码编译安装了PHP 7.3环境。虽然过程较为复杂,但可以获得更灵活和高效的PHP运行环境。希望本文对您有所帮助,祝您在PHP开发道路上越走越远!