升级PHP版本会导致“使用未定义的常量WP_CONTENT_DIR”警告吗?

时间:2020-06-23 作者:Ken Y-N

在我的HostGator共享主机上,使用CPanel选项设置每个域的PHP,如果我为现有博客打开PHP 7.3(或其他7.x版本),我会看到一个错误页面:

警告:在/my\\u site/public\\u html/WP includes/load中使用未定义的常量WP\\u CONTENT\\u DIR–假定为“WP\\u CONTENT\\u DIR”(这将在未来版本的PHP中引发错误)。php第141行您的php安装似乎缺少WordPress所需的MySQL扩展

如果我用谷歌搜索这个,所有的建议都是关于如何安装mysqld, 但它肯定已经安装好了,因为在一个单独的子域上重新安装WordPress在PHP 7.3下运行得很好,所以我的旧站点WordPress中肯定遗漏了一些东西wp-config.php, 可能然而,从工作版本和失败版本来看,我看不到明显的区别。

5 个回复
最合适的回答,由SO网友:PHS 整理而成

以下是对我有效的方法:我的Hostgator WordPress站点抛出了相同的错误,直到我对顶级.htaccess 文件像这样:

I commented out the PHP default settings

我的网站是一个子域名,所以它有自己的.htaccess, 因此,这就是指定php版本的地方(cpanel会自动执行此操作)。我不需要编辑wp-config.php 或其他任何事情。

在这篇帖子的评论中,我找到了这个解决方案:

https://wordpress.org/support/topic/php-7-3-errors/#post-12720824

SO网友:cloudcreatordotio

确保WP_CONTENT_DIR 在您的wp-config.php 文件这将是通往wp-content 目录

define(\'WP_CONTENT_DIR\', \'/path/to/wordpress/wp-content\');

SO网友:Rick Hellewell

通常,WP\\u CONTENT\\u DIR条目在https://developer.wordpress.org/reference/files/wp-includes/default-constants.php/ 文件(在wp settings.php之后加载):

     if ( ! defined( \'WP_CONTENT_DIR\' ) ) {
            define( \'WP_CONTENT_DIR\', ABSPATH . \'wp-content\' ); 
            // No trailing slash, full paths only - WP_CONTENT_URL is defined further down.
        }
这将设置WP_CONTENT_DIR 除非您(或某人/某物)之前在wp-config.php 使用如下命令:

define(\'WP_CONTENT_DIR\', \'/path/to/wordpress/wp-content\');
在“fresh”/默认安装中,应该notwp-settings 文件也许您有一个插件或函数,它将内容文件夹移动到了一个新位置,作为一种“安全”方法(尽管这是否有用还存在争议-“模糊安全”并不能很好地工作),并修改了WP_CONTENT_DIR 变量值。

所以请检查您的wp-settings.php DEFINE语句的文件。删除它(除非你真的想要wp-content 文件),或者在您的站点中查找正在执行此操作的插件。

SO网友:djemals

就我而言,有两个。htaccess文件同时运行(一个来自“public\\u html”,另一个位于根目录之上),这导致了冲突。我删除了文件,它成功了。我通过Wordpress版本升级问题解决了这个问题。

以下是此解决方案的原始帖子:https://iiiji.com/fix-php-upgrade-error-whm-cpanel/

SO网友:Raman Kumar Banotra

我刚刚从我的网站的多PHP编辑器中将PHP版本7.0更新为7.4,发现使用了未定义的常量WP\\u CONTENT\\u DIR–假定为“WP\\u CONTENT\\u DIR”

之后,我将版本降级为7.0,并出现此错误

您的PHP安装似乎缺少WordPress所需的MySQL扩展。

我再次升级到7.4

我是如何解决这个错误的?刚刚删除了。hAccess文件并刷新。对我来说一切都很好。

谢谢