CentOS 7 编译安装PHP 5.6
在CentOS 7上编译安装PHP 5.6,需要经过以下几个步骤,这些步骤包括下载PHP源码、解压和配置、编译以及安装。
1. 下载PHP安装包
使用wget
命令从PHP官方网站下载PHP 5.6的安装包:
wget http://php.net/distributions/php5.6.31.tar.gz
2. 解压安装包
下载完成后,使用tar
命令解压安装包:
tar zxvf php5.6.31.tar.gz cd php5.6.31
3. 安装依赖
在编译之前,需要确保系统中安装了必要的依赖,gcc编译器和libXML2等库:
yum install gcc yum install libxml2 yum install libxml2devel yum install openssl openssldevel yum install curldevel
如果系统缺少其他依赖库,如libmcrypt,可以通过以下命令安装:
yum install epelrelease yum update yum install libmcrypt libmcryptdevel mcrypt mhash
4. 配置、编译和安装
进入解压后的目录,运行./configure
脚本进行配置:
./configure prefix=/usr/local/php withconfigfilepath=/usr/local/php/etc withpngdir=/usr/local/libpng withjpegdir=/usr/local/jpeg withfreetypedir=/usr/local/freetype withzlibdir=/usr/local/zlib withmcrypt=/usr/local/libmcrypt withlibxmldir=/usr/local/libxml2/ withiconvdir=/usr/local/libiconv enablelibxml enablexml enablebcmath enableshmop enablesysvsem enableinlineoptimization enableopcache enablembregex enablefpm enablembstring=all enablegdnativettf withopenssl enablepcntl enablesockets withxmlrpc enablezip enablesoap withoutpear withgettext enablesession withcurl enablectype enableshared withgd
配置完成后,执行以下命令进行编译和安装:
make make install
5. 配置PHPFPM
为了在Nginx下使用PHP,还需要安装和配置PHPFPM(FastCGI Process Manager),在编译PHP时已经启用了PHPFPM,所以只需要启动服务即可:
systemctl start phpfpm
CentOS yum安装PHP 5.6及phpfpm
除了手动编译,还可以通过配置YUM源来简化PHP 5.6及phpfpm的安装过程。
1. 配置YUM源
安装并配置EPEL(Extra Packages for Enterprise Linux)源和Remi源:
yum install epelrelease y rpm Uvh http://rpms.famillecollet.com/enterprise/remirelease7.rpm
2. 安装PHP 5.6及扩展
配置好YUM源后,使用以下命令安装PHP 5.6及其相关扩展:
yum install y enablerepo=remi,remiphp56 php phpopcache phpdevel phpmbstring phpmcrypt phpmysqlnd phpphpunitPHPUnit phppeclxdebug phppeclxhprof phpfpm phpbcmath
3. 启动PHPFPM服务
安装完成后,启动PHPFPM服务:
systemctl start phpfpm
FAQs
Q1: 如何检查已安装的PHP版本?
A1: 你可以使用以下命令检查已安装的PHP版本:
php version
Q2: 如何在Nginx中配置PHP支持?
A2: 在Nginx配置文件中,你需要添加或修改以下内容以支持PHP:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
然后重启Nginx服务:
systemctl restart nginx