首先通过命令 php -v 查看系统当前安装的PHP版本,明确应用程序所需的PHP版本范围(如旧应用可能需要PHP 5.6,新应用可能需要PHP 7.4+),这是解决兼容性问题的基础。
CentOS默认仓库的PHP版本通常较旧,需添加EPEL(Extra Packages for Enterprise Linux)和Remi仓库以获取最新稳定版本:
sudo yum install epel-releasesudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpmsudo yum-config-manager --enable remi-php74sudo yum update php && sudo yum install php php-fpm php-mysql php-gd php-mbstring;sudo yum install php74 php74-php-fpm php74-php-mysqlnd php74-php-opcache。Development Tools和php-devel):wget https://www.php.net/distributions/php-7.4.33.tar.gz
tar -zxvf php-7.4.33.tar.gz
cd php-7.4.33
./configure --prefix=/usr/local/php74 --enable-mbstring --enable-zip --with-openssl --with-mysqli
make && sudo make install
编译后需手动配置php.ini并更新环境变量。PHP应用依赖多种扩展(如数据库、加密、XML处理),需通过Yum安装并启用:
sudo yum install php-mysql php-gd php-mbstring php-xml php-curl php-opcachephpize→./configure→make && make install,然后在php.ini中取消对应扩展前的注释(如extension=sockets.so)。sudo systemctl restart httpd,Nginx+PHP-FPM用sudo systemctl restart php-fpm && sudo systemctl restart nginx。mysql_connect()→mysqli_connect()或PDO)。php.ini中的error_reporting和display_errors,避免敏感信息泄露(如生产环境设为E_ALL & ~E_NOTICE & ~E_STRICT)。若需在同一服务器运行多个PHP版本(如旧应用用PHP 5.6,新应用用PHP 8.0),可通过以下方式实现:
remi-php56、remi-php80),用sudo yum install php56 php56-php-fpm和sudo yum install php80 php80-php-fpm分别安装,再通过update-alternatives或修改Web服务器配置切换版本。/usr/local/php56、/usr/local/php80),通过update-alternatives管理命令链接或修改环境变量切换。php -v确认版本正确。info.php(内容为<?php phpinfo(); ?>),通过浏览器访问查看PHP版本、加载的扩展及配置信息。