如何找到并修复 cron.php 中的 T 字符串错误

How do I find and fix a t-string error in cron.php

我正在尝试 运行 这个 cron 导入作业,但一直出现错误。 它说错误在第 40 行,但我什么也没看到。 我已经更改了几个建议的项目,以便仅在出现新错误时返回。 我需要更多的关注。

else {
//** It seams cron service in CPanel works not like normal Linux Cron, so we  have to emulate $argv */
$VERBOSE = true;
if (!empty($_REQUEST) && array_key_exists('do_xml_import',$_REQUEST)){
 $argv = array_keys($_REQUEST);}
 }
 /** Need to at least have the do_xml_import argument */

第40行实际上是remComment,所以我确定错误在它之上。此代码由我尝试使用的插件自动生成。

我将 link 添加到实际文件中,因为它相当大。

cron file that is being used

感谢大家的帮助!

很难从这个部分示例中看出,但可能是您关闭了 if 语句两次。试试这个:

if (!empty($_REQUEST) && array_key_exists('do_xml_import',$_REQUEST)){
    $argv = array_keys($_REQUEST);
}

好的!我查看了整个 PHP 文件。我得到的错误是内存在第 42 行耗尽。你也一样吗?

我认为这个文件从来就不是 运行 直接来自命令行的。它应该是 运行 通过 Wordpress。它试图加载整个 wordpress 框架,但把它搞得一团糟。

如果您打印它在尝试导入 wordpress 时发出的 include 调用,您就会看到问题所在。看第83行:

  // Load WordPress - intentionally using an absolute URL due to issues with relative paths on the CLI.
  print "$wp_load_path\n";   /* <--- Add this line to see what's loading

  include $wp_load_path;

当我从 CLI 中 运行 它时,脚本会包含自身。然后它来到这一行并再次包含它自己。然后再次。然后再次。直到最后内存耗尽。然后就炸了。

我不是 WP 专家,但我认为它有自己的 cron 系统。你应该检查一下。祝你好运!