我有一个cron工作,理想情况下我想每小时运行一次(它是在FB加速器上并处理实时社交内容,因此每小时一次不会削减它)
1)我可以拥有一个包含“run(),sleep(60),run()......”的cron作业,持续60分钟吗?
2)跑去的频率,目前输出:
...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();
据我所知,没什么特别的。
我可以确认include / required文件确实在同一目录中。他们需要一定级别的访问权限吗?任何和所有的帮助将不胜感激。
答案 0 :(得分:3)
由于它是在内部调用的,因此它不会被服务器解析。 你的cron作业的开头应该包括你的php解析器的路径
例如:
/usr/bin/php /home/path_to/php_file/yourfile.php
你需要找到自己的服务器的PHP路径
答案 1 :(得分:2)
答案 2 :(得分:2)
看起来PHP源代码是作为shell命令列表执行的 - 确保你通过PHP解释器运行它。
答案 3 :(得分:2)
1 cron脚本执行时间没有限制。就个人而言,我有一个cron php脚本,在执行后持续超过45分钟。请注意,在这种情况下,您可能需要更改php.ini,因为将包含php脚本执行时间限制。
2 你应该放下以下
#!/usr/bin/php
在php脚本的开头。通过这种方式,您可以像通常的脚本一样从bash执行它 完成此操作并进行测试后,请输入cron。
答案 4 :(得分:0)
如果在脚本中指定绝对路径而不是相对路径,cron将能够找到它们。从cron运行时,您的脚本不会在其目录中运行。
答案 5 :(得分:0)
您必须知道您的环境变量未使用cron定义。
在您的会话中,您可以致电
php my_php_file.php
并且它有效,因为php进入了PATH变量的目录。
始终建议在cron作业中使用完整路径名。
您可以执行一个脚本来定义您需要的所有变量。