在 CentOS 上编译 PHP 是一个涉及多个步骤和依赖项的过程,以下是一个详细的指南,包括安装必要的依赖项、下载 PHP 源码、配置编译选项以及最终的编译和安装过程。
准备工作
更新系统
确保你的系统是最新的,打开终端并运行以下命令:
sudo yum update y
安装开发工具和依赖项
编译 PHP 需要一些开发工具和库,使用以下命令安装这些依赖项:
sudo yum groupinstall "Development Tools" y sudo yum install libxml2devel bzip2devel curldevel libmcryptdevel gddevel libjpegdevel libpngdevel freetypedevel ldapdevel openldapdevel y
下载 PHP 源码
访问 [PHP 官方网站](https://www.php.net/downloads) 下载你需要的 PHP 版本源码包,下载 PHP 7.4.16 的源码包:
cd /usr/local/src sudo wget https://www.php.net/distributions/php7.4.16.tar.gz sudo tar xzvf php7.4.16.tar.gz cd php7.4.16
配置编译选项
在配置编译选项时,你可以根据需要启用或禁用特定的 PHP 扩展,要启用 MySQL 支持,可以使用以下命令:
./configure prefix=/usr/local/php \ withconfigfilepath=/usr/local/php/etc \ enablembstring \ enablembregex \ withcurl \ withopenssl \ withzlib \ enablebcmath \ withbz2 \ enablesoap \ withgettext \ withgd \ enablegdnativettf \ withjpegdir \ withfreetypedir \ withpngdir \ enablepcntl \ enablesockets \ withmysqli=shared,builtin \ withpdomysql=shared,builtin \ withmysqlsock=/var/lib/mysql/mysql.sock
编译和安装
运行以下命令编译并安装 PHP:
make sudo make install
配置 PHP
将配置文件模板复制到安装目录,并根据需要进行修改:
sudo cp php.iniproduction /usr/local/php/etc/php.ini sudo nano /usr/local/php/etc/php.ini
你可以在php.ini
文件中进行各种配置,例如设置upload_max_filesize
或memory_limit
等。
设置环境变量
为了使系统能够找到 PHP 可执行文件,需要将 PHP 的安装路径添加到环境变量中,编辑~/.bashrc
文件并添加以下行:
export PATH="/usr/local/php/bin:$PATH"
使更改生效:
source ~/.bashrc
验证安装
验证 PHP 是否成功安装并工作正常:
php v
你应该看到类似于以下的输出:
PHP 7.4.16 (cli) (built: Mar 10 2021 10:10:10) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies
相关问答 FAQs
Q1: 如何更改 PHP 的配置?
A1: 你可以通过编辑php.ini
文件来更改 PHP 的配置,该文件通常位于 PHP 安装目录的etc
子目录中,例如/usr/local/php/etc/php.ini
,你可以使用文本编辑器(如nano
或vim
)打开该文件并进行所需的更改,更改完成后,保存文件并重新启动 Web 服务器(如 Apache 或 Nginx)以使更改生效。
Q2: 如何安装额外的 PHP 扩展?
A2: 你可以使用pecl
或pear
命令来安装额外的 PHP 扩展,要安装redis
扩展,你可以运行以下命令:
sudo /usr/local/php/bin/pecl install redis
安装完成后,你需要将扩展添加到php.ini
文件中,编辑php.ini
文件并添加以下行:
extension=redis.so
重新启动 Web 服务器以使更改生效。