Php Cron错误消息;是我的脚本导致了这些错误吗?
我有一份cron工作,理想情况下我希望每小时运行一次(它在FB加速器上,处理实时社交内容,所以每小时一次不会减少) 1) 我可以有一个包含“run()、sleep(60)、run()…”的持续60分钟的cron作业吗 2) 运行频率,它当前输出:Php Cron错误消息;是我的脚本导致了这些错误吗?,php,cron,Php,Cron,我有一份cron工作,理想情况下我希望每小时运行一次(它在FB加速器上,处理实时社交内容,所以每小时一次不会减少) 1) 我可以有一个包含“run()、sleep(60)、run()…”的持续60分钟的cron作业吗 2) 运行频率,它当前输出: ...web/public/mysqltest.php: ?php: cannot open ...web/public/mysqltest.php: require_once: not found ...web/public/mysqltest.ph
...web/public/mysqltest.php: ?php: cannot open
...web/public/mysqltest.php: require_once: not found
...web/public/mysqltest.php: include_once: not found
...web/public/mysqltest.php: include_once: not found
...web/public/mysqltest.php: syntax error at line 5: `(' unexpected
(剩下的路就在那里)
如何开始调试该消息?奇怪的是,我的服务器无法打开PHP文件。在浏览器中运行时,它的工作表现令人钦佩。脚本的前6行是:
<?php
require_once 'facebook.php';
include_once 'lib.php';
include_once 'config.php';
$facebook = new Facebook($api_key, $secret);
get_db_conn();
我对此不熟悉。
您可能应该在cron脚本中调用/path/to/php file.php。看起来它目前正在尝试使用bash
我对此不熟悉。
您可能应该在cron脚本中调用/path/to/php file.php。看起来它目前正在尝试使用bash
如果在脚本中指定绝对路径而不是相对路径,cron将能够找到它们。从cron运行脚本时,脚本不会在其目录中运行。如果在脚本中指定绝对路径而不是相对路径,cron将能够找到它们。从cron运行脚本时,脚本不会在其目录中运行。看起来PHP源代码是作为一个shell命令列表执行的-确保您正在通过PHP解释器运行它。看起来PHP源代码是作为一个shell命令列表执行的-确保您正在通过PHP解释器运行它解释器。1cron脚本执行时间没有限制。就我个人而言,我有一个cronphp脚本,它在执行后会持续45分钟以上。请注意,在这种情况下,您可能需要更改php.ini,因为它将包含php脚本执行时间限制
2您应该将以下内容
#!/usr/bin/php
在php脚本的开头。通过这种方式,您可以像通常的脚本一样从bash启用它的执行。
完成并测试后,放入cron。1cron脚本执行时间没有限制。就我个人而言,我有一个cronphp脚本,它在执行后会持续45分钟以上。请注意,在这种情况下,您可能需要更改php.ini,因为它将包含php脚本执行时间限制
2您应该将以下内容
#!/usr/bin/php
在php脚本的开头。通过这种方式,您可以像通常的脚本一样从bash启用它的执行。
完成并测试后,放入cron。因为它是在内部调用的,服务器不会解析它。
cron作业的开头应该包括php解析器的路径
例如:
当然,您需要找到自己的服务器到php的路径,因为它是在内部调用的,而不是由服务器解析的。
cron作业的开头应该包括php解析器的路径
例如:
您需要找到自己的服务器到php的路径当然,您必须知道您的环境变量不是用cron定义的
在您的会话中,您可以呼叫
php my_php_file.php
它之所以有效,是因为php被放入PATH变量的目录中
始终建议在cron作业中使用完整路径名
您也可以执行一个脚本来定义所需的所有变量。您必须知道,您的环境变量不是用cron定义的
在您的会话中,您可以呼叫
php my_php_file.php
它之所以有效,是因为php被放入PATH变量的目录中
始终建议在cron作业中使用完整路径名
您也可以执行一个脚本来定义所需的所有变量。或通过放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/在php的第一行使用usr/bin/php,并像下面这样直接执行它。/script.php