有一个安装了Yoast SEO Premiumwordpress插件并激活Yoast SEO Multilingual WPML Multilingual CMS的网站。一切都是官方的,注册的,激活的。
在使用 PHP 7.4 和 Apache的本地OpenServer 服务器上,一切都可以正常工作,但是当使用 PHP 7.4 转移到真正的Nginx docker 时,我收到了一个致命错误。
注意:PHP 消息:PHP 警告:include(/var/www/html/wp-content/plugins/wp-seo-multilingual/vendor/composer/../../classes/Utils.php):无法打开流:在第 444 行的 /var/www/html/wp-content/plugins/sitepress-multilingual-cms/vendor/composer/ClassLoader.php 中没有这样的文件或目录
注意:PHP 消息:PHP 警告:include(): 无法打开 '/var/www/html/wp-content/plugins/wp-seo-multilingual/vendor/composer/../../classes/Utils.php'在第 444 行的 /var/www/html/wp-content/plugins/sitepress-multilingual-cms/vendor/composer/ClassLoader.php 中包含 (include_path='.:/usr/local/lib/php')
注意:PHP 消息:PHP 致命错误:未捕获的错误:在 /var/www/html/wp-content/plugins/wp-seo-multilingual/classes/class-wpml-wpseo- 中找不到类 'WPML\WPSEO\Utils'应该-创建-redirect.php:29
堆栈跟踪:
#0 /var/www/html/wp-content/plugins/sitepress-multilingual-cms/classes/action-filter-loader/class-wpml-action-filter-loader.php(154): WPML_WPSEO_Should_Create_Redirect->add_hooks()
#1 /var/www/html/wp-content/plugins/sitepress-multilingual-cms/classes/action-filter-loader/class-wpml-action-filter-loader.php(92): WPML_Action_Filter_Loader->run_factory(Object (WPML_WPSEO_Main_Factory))
#2 /var/www/html/wp-content/plugins/sitepress-multilingual-cms/classes/action-filter-loader/class-wpml-action-filter-loader.php(76): WPML_Action_Filter_Loader->load_factory(Object (WPML_WPSEO_Main_Factory))
#3 /var/www/html/wp-content/plugins/sitepress-multilingual-cms/classes/action-filter-loader/class-wpml-action-filter-loader.php(45): WPML_Action_Filter_Loader->load_factory_or_action(' WPML_WPSEO_Main...',假)
#4 /var/www/html/wp-content/plugins/wp-seo-mu 在 /var/www/html/wp-content/plugins/wp-seo-multilingual/classes/class-wpml-wpseo-should-第 29 行的 create-redirect.php
“获取 /index.php” 500
如果我停用Yoast SEO Multilingual该网站已经在工作。是什么原因,我该如何解决?
您可能有一个旧版本的 Yoast SEO 多语言插件,它没有 classes/Utils.php 文件。下载最新的 - 1.1.1。
从堆栈跟踪来看,wp-seo-multilingual/classes/ 文件夹中的先前版本被称为“utils.php”(小写),现在是大写 - 这可能不会在 git 中检测为更改和在某些操作系统上,它可能不算作不同的名称。
这就是为什么:
如果您使用的是 git,则在每次重命名后提交更改。