facebook.php标头在以cronjob运行时发送错误

时间:2012-04-30 05:50:40

标签: php facebook header cron

我有一个包含facebook.php的文件,如果我直接运行URL,它运行没有任何错误。但当我以cronjob运行它时,我在电子邮件中收到以下错误

<br />
<b>Warning</b>:  session_start() [<a
href='function.session-start'>function.session-start</a>]: Cannot send session
cookie - headers already sent in
<b>/home/username/public_html/pathtofile/facebook.php</b> on line
<b>37</b><br />

在包含facebook.php之前没有任何回应,因为这个文件被包含在顶部。

require('facebook.php');
include_once("config.php");
include_once("functions.php");
 $app_id = 'my_app_id';
 $app_secret = 'my_app_secret';
 $facebook = new Facebook(array(
   'appId'  => $app_id,
   'secret' => $app_secret,
 ));

可能出现的错误是什么?

3 个答案:

答案 0 :(得分:0)

也许您的会话已经开始

if(!session_id()){
session_start();
}

答案 1 :(得分:0)

这里的问题相同。我无法从中得到很多用处,但我确实找到了这个(如果你还没有看到它):issues with php command line

我在facebook.php包含文件中注释掉了session_start()行作为一种解决方法...似乎是我能说的最好的工作。对我没有多大意义,但是你们中的任何一个都想出了明确的理由和/或方向吗?我有点惊讶没有更多关于它的讨论/谷歌搜索结果....

答案 2 :(得分:0)

问题在于php命令行,所以最好用cget而不是php-q在cron上运行

我在cron url

使用了wget http://exampl.com/url_for_script.php

它为我工作