【发布时间】:2012-01-19 02:37:06
【问题描述】:
我正在使用 CakePHP 2.0 并且一直在尝试设置一个 cronjob 来在控制器中执行一个方法。我一直在发疯,查看各种教程和随机网站,看看我是否能找到解决方案。
我收到的错误是这样的:
Undefined variable: argc [APP/webroot/cron_dispatcher.php, line 83
这是我的 app/webroot/ 目录中 cron_dispatcher.php 文件的底部。
if (!include(CORE_PATH . 'cake' . DS . 'bootstrap.php')) {
trigger_error("CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR);
}
if (isset($_GET['url']) && $_GET['url'] === 'favicon.ico') {
return;
} else {
define('CRON_DISPATCHER',true);
if($argc >= 2) {
$Dispatcher= new Dispatcher();
$Dispatcher->dispatch($argv[1]);
}
}
我找不到这些变量($argv 和 $argc)的定义位置。它们没有在 dispatcher.php 文件本身的任何地方定义。我用谷歌搜索无济于事。我不能 100% 确定 Dispatcher 的工作原理,但我们将不胜感激任何帮助。谢谢。
== 更新 GoDaddy 的共享主机不允许您更改 argc argv 的设置。
【问题讨论】:
-
How to setup cronjobs in cake php? 的可能副本 虽然目标是“在控制器中执行方法” - 这是错误的方法。