引言
PHP是一种流行的开源服务器端脚本语言,用于开发动态网站和应用程序。在CentOS上编译安装PHP,可以让我们更深入地了解其工作原理,并根据自己的需求定制安装。本文将详细介绍在CentOS上编译安装PHP的步骤。
准备工作
在开始编译安装PHP之前,请确保您的系统满足以下要求:
- CentOS操作系统
- 开发工具包,包括gcc、make、autoconf等
- 编译PHP所需的依赖库,如libxml2、libzip、openssl等
安装依赖库
首先,我们需要安装编译PHP所需的依赖库。以下是在CentOS上安装这些依赖库的示例命令:
sudo yum install -y gcc make autoconf libtool bison patch gzip
sudo yum install -y libxml2 libxml2-devel zlib zlib-devel openssl openssl-devel
sudo yum install -y bzip2 bzip2-devel libmcrypt libmcrypt-devel
sudo yum install -y mhash mhash-devel
下载PHP源代码
接下来,从PHP官方网站下载最新的PHP源代码:
cd /usr/src
sudo wget https://www.php.net/distributions/php-7.4.33.tar.gz
sudo tar -xzf php-7.4.33.tar.gz
cd php-7.4.33
配置PHP
在配置PHP之前,请确保您已经安装了所有必需的依赖库。然后,使用以下命令配置PHP:
./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www --with-fpm-group=www \
--with-mysql --with-mysqli --with-pdo-mysql --with-openssl \
--with-zlib --with-bz2 --with-gd --with-curl --enable-gd-native-ttf \
--with-pear --enable-zip --enable-fileinfo --enable-bcmath
这里是一些配置选项的解释:
--prefix=/usr/local/php
:指定PHP安装的目录--enable-fpm
:启用PHP-FPM(FastCGI Process Manager)--with-fpm-user=www
:指定PHP-FPM运行的用户--with-fpm-group=www
:指定PHP-FPM运行的用户组--with-mysql
、--with-mysqli
、--with-pdo-mysql
:启用MySQL支持--with-openssl
:启用OpenSSL支持--with-zlib
、--with-bz2
:启用zlib和bzip2支持--with-gd
:启用GD库支持--with-curl
:启用cURL支持--enable-gd-native-ttf
:启用GD库支持TrueType字体--with-pear
:启用Pear(PHP扩展与应用库仓库)支持--enable-zip
:启用ZIP库支持--enable-fileinfo
:启用文件信息扩展支持--enable-bcmath
:启用BC数学库支持
编译和安装PHP
配置完成后,使用以下命令编译和安装PHP:
sudo make
sudo make install
这将编译PHP并安装到指定的目录中。
创建PHP-FPM配置文件
PHP-FPM需要配置文件才能正确运行。创建一个名为www.conf
的配置文件:
sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
sudo vim /usr/local/php/etc/php-fpm.conf
在配置文件中,修改以下参数:
user
:设置为www
group
:设置为www
listen
:设置为/run/php-fpm/www.sock
pm
:设置为dynamic
pm.max_children
:根据需要设置最大进程数pm.start_servers
:设置为min
的值pm.min_spare_servers
:设置为min
的值pm.max_spare_servers
:设置为max
的值
启动PHP-FPM
现在,您可以启动PHP-FPM服务:
sudo /usr/local/php/sbin/php-fpm
如果需要以守护进程方式运行,可以使用以下命令:
sudo systemctl start php-fpm
验证安装
最后,创建一个简单的PHP脚本,用于验证PHP安装是否成功:
<?php
phpinfo();
?>
将此脚本保存为info.php
,放置在Web服务器(如Nginx或Apache)的根目录下。在浏览器中访问该脚本,如果看到PHP信息页面,则表示PHP安装成功。
总结
通过以上步骤,您已经在CentOS上成功编译并安装了PHP。接下来,您可以继续配置Web服务器、数据库和其他扩展,以便运行PHP应用程序。