HCRM博客

如何在CentOS系统上轻松编译安装PHP?

在CentOS上编译安装PHP是一个相对复杂的过程,需要多个步骤来确保正确安装和配置,本文将详细介绍如何在CentOS 7上从源代码编译并安装PHP 8.1,包括必要的依赖安装、编译选项以及如何配置Nginx以支持PHP应用。

编译安装PHP

1. 依赖环境

如何在CentOS系统上轻松编译安装PHP?-图1
(图片来源网络,侵权删除)

在开始编译PHP之前,首先需要安装一些必需的依赖包,这些依赖包包括C编译器(如gCC)、Make工具、以及其他一些库文件,具体命令如下:

  • yum y install gcc gccc++ make wget libxml2devel openssldevel curldevel \
  • libjpegdevel libpngdevel freetypedevel bison autoconf automake libtool cmake zlibdevel pcredevel gd gddevel

2. 下载并解压

需要从PHP官网下载最新的PHP源码包,并将其解压到指定目录中,这里以PHP 8.1.0为例:

  • cd /usr/local/src
  • wget https://www.php.net/distributions/php8.1.0.tar.gz
  • tar zxvf php8.1.0.tar.gz
  • cd php8.1.0

3. 配置、编译安装

在解压后的目录下,使用./configure脚本来配置PHP的编译选项,可以根据实际需求调整以下配置选项:

  • ./configure prefix=/usr/local/php8 \
  • withconfigfilepath=/usr/local/php8 \
  • enablefpm \
  • withfpmuser=nginx \
  • withfpmgroup=nginx \
  • withmysqli \
  • withpdomysql \
  • withopenssl \
  • withzlib \
  • enablesockets \
  • enablezip \
  • withcurl \
  • withgd \
  • withjpegdir \
  • withfreetypedir \
  • enablembstring \
  • withcurl \
  • enableftp \
  • withgettext \
  • enablesession \
  • withlibxmldir \
  • withopenssl \
  • withpcreregex \
  • withzlib \
  • enablesoap \
  • enableopcache

配置完成后,使用make命令进行编译,然后使用make install命令进行安装:

如何在CentOS系统上轻松编译安装PHP?-图2
(图片来源网络,侵权删除)
  • make
  • make install

4. 创建系统用户、系统用户组

为了安全起见,建议为PHP创建一个单独的用户和用户组:

  • groupadd php
  • useradd r g php s /sbin/nologin php

5. 创建链接

为了让系统能够找到新安装的PHP可执行文件,需要创建相应的软链接:

  • ln s /usr/local/php8/bin/php /usr/bin/php
  • ln s /usr/local/php8/sbin/phpfpm /usr/sbin/phpfpm

6. 自动启动PHPFPM

为了能够在系统启动时自动运行PHPFPM服务,需要创建一个systemd服务文件:

如何在CentOS系统上轻松编译安装PHP?-图3
(图片来源网络,侵权删除)
  • vim /usr/lib/systemd/system/phpfpm.service

在文件中添加以下内容:

  • [Unit]
  • Description=PHPFPM Service
  • After=network.target
  • [Service]
  • Type=simple
  • PIDFile=/run/phpfpm/phpfpm.pid
  • ExecStart=/usr/sbin/phpfpm daemonize
  • ExecReload=/bin/kill USR2 $MAINPID
  • PrivateTmp=true
  • User=php
  • Group=php
  • [Install]
  • WantedBy=multiuser.target

保存文件后,使用以下命令启用并启动PHPFPM服务:

  • systemctl daemonreload
  • systemctl start phpfpm
  • systemctl enable phpfpm

7. 配置 Nginx 使其支持 PHP 应用

需要配置Nginx以支持PHP应用,编辑Nginx的默认站点配置文件:

  • vim /usr/local/nginx/conf/nginx.conf

server块中添加以下配置:

  • location ~ \.php$ {
  • root html;
  • fastcgi_pass 127.0.0.1:9000;
  • fastcgi_index index.php;
  • fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  • include fastcgi_params;
  • }

保存文件后,重新加载NGINX配置以使更改生效:

  • /usr/local/nginx/sbin/nginx s reload

依赖安装

如果系统中已经安装了旧版本的PHP,建议先将其卸载以避免潜在的冲突:

  • yum remove y php

根据编译PHP时所需的依赖项,安装相应的扩展包,如果需要支持Redis扩展,可以执行以下命令:

  • pecl install redis
  • echo "extension=redis.so" > /usr/local/php8/etc/php.ini

FAQs(常见问题解答)

问题1:编译PHP时遇到缺少依赖库的错误怎么办?

答:如果在编译PHP过程中遇到缺少某个依赖库的错误提示,可以根据错误信息安装相应的依赖包,如果错误提示缺少libxml2库,可以执行yum install y libxml2devel来安装该依赖包,同样地,对于其他缺失的依赖库也可以采取类似的方法进行安装。

问题2:如何检查已安装的PHP版本?

答:可以通过在终端中输入php v命令来查看已安装的PHP版本信息,如果命令输出了PHP的版本号和其他相关信息,则说明PHP已成功安装并可以在系统中使用。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/4618.html

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