【问题标题】:How to update PHP version from 5.4.16 to 5.6.20 or a newer version in Wordpress如何在 Wordpress 中将 PHP 版本从 5.4.16 更新到 5.6.20 或更新版本
【发布时间】:2020-03-06 07:23:03
【问题描述】:

我有一个 Centos 7.7。我托管我的网站的服务器。我尝试从 CLI 更新 PHP 版本,但在 Wordpress 上没有任何变化:

“您无法更新,因为 WordPress 5.2.4 需要 PHP 5.6.20 或更高版本。您运行的是 5.4.16 版本。”

# php -v
PHP 7.1.30 (cli) (built: Aug 21 2019 09:27:22) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

# rpm -qa|grep php
rh-php71-php-json-7.1.30-1.el7.x86_64
rh-php71-php-cli-7.1.30-1.el7.x86_64
php-gd-5.4.16-46.1.el7_7.x86_64
php-5.4.16-46.1.el7_7.x86_64
php-mysql-5.4.16-46.1.el7_7.x86_64
rh-php71-php-7.1.30-1.el7.x86_64
rh-php71-php-zip-7.1.30-1.el7.x86_64
php-mcrypt-5.4.16-9.el7.x86_64
php-cli-5.4.16-46.1.el7_7.x86_64
php-mbstring-5.4.16-46.1.el7_7.x86_64
rh-php71-runtime-1-1.el7.x86_64
php-common-5.4.16-46.1.el7_7.x86_64
php-xmlrpc-5.4.16-46.1.el7_7.x86_64
rh-php71-php-common-7.1.30-1.el7.x86_64
php-pdo-5.4.16-46.1.el7_7.x86_64
php-xml-5.4.16-46.1.el7_7.x86_64

# httpd -M [Fri Nov 15 13:57:00.257580 2019] [so:warn] [pid 14807] AH01574:模块 rewrite_module 已加载,正在跳过 加载模块: 核心模块(静态) so_module(静态) http_module(静态) rewrite_module(共享) access_compat_module(共享) 动作模块(共享) 别名模块(共享) allowmethods_module(共享) auth_basic_module(共享) auth_digest_module(共享) authn_anon_module(共享) authn_core_module(共享) authn_dbd_module(共享) authn_dbm_module(共享) authn_file_module(共享) authn_socache_module(共享) authz_core_module(共享) authz_dbd_module(共享) authz_dbm_module(共享) authz_groupfile_module(共享) authz_host_module(共享) authz_owner_module(共享) authz_user_module(共享) 自动索引模块(共享) 缓存模块(共享) cache_disk_module(共享) 数据模块(共享) dbd_module(共享) deflate_module(共享) dir_module(共享) dumpio_module(共享) echo_module(共享) env_module(共享) expires_module(共享) ext_filter_module(共享) filter_module(共享) headers_module(共享) 包含模块(共享) info_module(共享) log_config_module(共享) logio_module(共享) mime_magic_module(共享) mime_module(共享) 协商模块(共享) remoteip_module(共享) reqtimeout_module(共享) setenvif_module(共享) slotmem_plain_module(共享) slotmem_shm_module(共享) socache_dbm_module(共享) socache_memcache_module(共享) socache_shmcb_module(共享) status_module(共享) 替代模块(共享) suexec_module(共享) unique_id_module(共享) unixd_module(共享) userdir_module(共享) 版本模块(共享) vhost_alias_module(共享) dav_module(共享) dav_fs_module(共享) dav_lock_module(共享) lua_module(共享) mpm_prefork_module(共享) proxy_module(共享) lbmethod_bybusyness_module(共享) lbmethod_byrequests_module(共享) lbmethod_bytraffic_module(共享) lbmethod_heartbeat_module(共享) proxy_ajp_module(共享) proxy_balancer_module(共享) proxy_connect_module(共享) proxy_express_module(共享) proxy_fcgi_module(共享) proxy_fdpass_module(共享) proxy_ftp_module(共享) proxy_http_module(共享) proxy_scgi_module(共享) proxy_wstunnel_module(共享) ssl_module(共享) systemd_module(共享) cgi_module(共享) ldap_module(共享) authnz_ldap_module(共享) php5_module(共享)

我没有 cPanel,我需要找到一种直接从服务器更新的方法。 另外我使用的是 Apache,不是共享主机。 谢谢。

【问题讨论】:

  • 您使用的是共享主机还是 VPS?你用的是apache还是ngix?您需要更新更多信息
  • 您好 Stefano,我正在使用 Apache,并且是唯一托管在我的服务器上的网络服务器(不是共享主机)。谢谢
  • 你能发布sudo httpd -M的结果吗?
  • 你需要确保cli版本和Apache使用的是相同的
  • 您可能需要通过此链接进行交叉检查,以确保您正确安装了组合:howtoforge.com/tutorial/centos-lamp-server-apache-mysql-php

标签: php linux wordpress


【解决方案1】:

我刚刚解决了我的问题,我在 /etc/httpd/conf.d/10-php.conf.off 中重命名了文件 /etc/httpd/conf.d/10-php.conf 并复制了 /opt/ rh/httpd24/root/etc/httpd/conf.modules.d/rh-php71-php.conf /etc/httpd/conf.modules.d/。并重新启动 https 服务。 还是谢谢

【讨论】:

    【解决方案2】:

    在服务器本身上运行的 php 版本与使用 apache 运行的 php 版本(并且可以)不同。您需要使用

    为您的 apache 服务器启用 php 版本
    sudo a2dismod php5.4
    sudo a2enmod php7.1
    

    (谷歌搜索)

    使用php -v 命令,您获得的不是 apache 服务器的 php 版本。

    顺便说一句,php 7.3 是实际版本。如果您已经更新了东西,请尝试启用 HTTP2 协议并安装 php-fpm 而不是 cli。

    编辑: a2enmod 不适用于 Centos,这是 debianism。需要在*.conf文件中启用php版本并重启apache。

    【讨论】:

    • php -v # php -v PHP 7.1.30 (cli) 的输出 (build: Aug 21 2019 09:27:22) (NTS) 版权所有 (c) 1997-2018 The PHP Group Zend Engine v3.1.0,版权所有 (c) 1998-2018 Zend Technologies 我按照@Stefano 给出的步骤,创建了一个带有 info.php 的文件,重新启动了 httpd,当我在浏览器中运行时,它显示了 PHP 版本 5.4.16
    • PS:a2dismod 和 a2enmod 不适用于 centOS 发行版,仅适用于 Ubuntu。
    • 哦,真的吗?我没有意识到这一点。尽管如此,您需要为您的 apache 服务器启用 php 版本,并且 php -v 会显示您系统的默认 php 版本。如果 a2enmod 不起作用,则必须在 *.conf 文件中手动执行。
    猜你喜欢
    • 2019-10-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 2015-08-27
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    相关资源
    最近更新 更多