我如何找到并修复一个t字串错误在cron.php


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,所以我确信错误在它上面。这段代码是由我试图使用的插件自动生成的。

我包含了一个链接到实际文件,因为它相当大。

正在使用的cron文件

谢谢你的帮助!

OK!我已经查看了整个PHP文件。我得到的错误是,内存在第42行耗尽。你会得到同样的结果吗?

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

如果你打印include调用,当它试图导入wordpress,你会看到这个问题。看第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系统。你应该去看看。好运!

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

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