商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > php 升级php5.5 、php7

php 升级php5.5 、php7

  发布于2026-07-21 阅读(0)

扫一扫,手机访问

升级 PHP 7 在实际运维中是个常见需求,但不同环境、不同版本之间切换,坑也不少。这里整理了两条比较典型的路:一条是源码编译安装,一条是直接用第三方 YUM 源替换。两种方式各有优劣,下面把关键步骤和踩过的坑都列出来,方便以后快速复用。

方法一:通过 Webtatic 源安装 PHP 5.5(过渡参考)

如果你还在用 CentOS 6 且想快速升级到 PHP 5.5,可以这样操作:

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum install php55w php55w-opcache

然后替换系统自带的 PHP 公共包:

yum install yum-plugin-replace
yum replace php-common --replace-with=php55w-common

可选的扩展包列表(按需安装):

php55w php55w-bcmath php55w-cli php55w-common php55w-dba php55w-devel php55w-embedded php55w-enchant php55w-fpm php55w-gd php55w-imap php55w-interbase php55w-intl php55w-ldap php55w-mbstring php55w-mcrypt php55w-mssql php55w-mysql php55w-mysqlnd php55w-odbc php55w-opcache php55w-pdo php55w-pecl-memcache php55w-pecl-xdebug php55w-pgsql php55w-process php55w-pspell php55w-recode php55w-snmp php55w-soap php55w-tidy php55w-xml php55w-xmlrpc

方法二:源码编译安装 PHP 7.0

先下载 PHP 7.0.2 的源码包(注意版本号可以根据需要调整):

wget http://cn2.php.net/get/php-7.0.2.tar.gz/from/this/mirror

解压:

tar -zxvf php-7.1.0.tar.gz

卸载系统旧版 PHP(防止冲突):

yum remove php
rpm -qa|grep php   # 查看所有 PHP 相关包
rpm -e php-cli-5.4.16-42.el7.x86_64   # 逐一删除

安装编译依赖库:

yum install libxml2 libxml2-devel openssl openssl-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel pcre pcre-devel libxslt libxslt-devel bzip2 bzip2-devel

配置编译参数(这里是一份常用参数组合,建议根据实际需求微调):

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip

第一次执行很可能遇到这个错误:

configure: error: no acceptable C compiler found in $PATH

解决:安装 gcc 编译工具链。

yum install gcc

再次执行 configure 命令,如果还报告其他依赖缺失,按以下方式逐一解决:

  • freetype.h not foundyum install freetype-devel
  • easy.h should be in /include/curl/yum install curl curl-devel
  • cannot find openssl's yum install openssl openssl-devel
  • xml2-config not foundyum install libxml2 libxml2-devel
  • png.h not foundyum install libpng-devel

所有依赖解决后,执行编译安装(这一步比较耗时):

make && make install

安装完成后,拷贝配置文件:

cp php.ini-development /usr/local/php/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin

编辑 php.ini,找到 cgi.fix_pathinfo 配置项,将其值改为 0 并去掉注释:

vi /usr/local/php/php.ini

然后配置 PHP-FPM 的用户和组。默认情况下,php-fpm 的用户配置文件在 etc/php-fpm.d/ 目录下,先复制一份:

cp www.conf.default www.conf
vi www.conf

usergroup 从默认的 nobody 改为合适的用户(如 nginxwww)。

启动 PHP-FPM:

/usr/local/bin/php-fpm

通过 netstat -tln | grep 9000 即可确认服务是否正常运行。

方法三:使用 Webtatic 源直接安装 PHP 7.0(推荐)

如果不想走编译流程,更推荐直接使用第三方 YUM 源,省时省力。不过要注意,CentOS 7 下需要先安装 EPEL 源:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

如果报错提示需要 epel-release >= 7,先安装 EPEL:

yum install epel-release

然后安装 PHP 7.0 及其扩展:

yum install php70w php70w-bcmath php70w-cli php70w-common php70w-dba php70w-devel php70w-embedded php70w-enchant php70w-fpm php70w-gd php70w-imap php70w-interbase php70w-intl php70w-ldap php70w-mbstring php70w-mcrypt php70w-mssql php70w-mysql php70w-odbc php70w-opcache php70w-pdo php70w-pecl-memcache php70w-pecl-xdebug php70w-pgsql php70w-process php70w-pspell php70w-recode php70w-snmp php70w-soap php70w-tidy php70w-xml php70w-xmlrpc

整合 Nginx 与 PHP-FPM

无论用哪种方式安装 PHP,只要带着 php-fpm 组件,就可以和 Nginx 配合。先启动 PHP-FPM:

/usr/sbin/php-fpm

然后修改 Nginx 配置文件,添加 PHP 解析的 location 段:

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

写一个 phpinfo 文件,浏览器访问即可验证:

本文转载于:https://blog.csdn.net/jackylee920230/article/details/118322855 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注