2

我有一个包含 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,
 ));

可能的错误是什么?

4

3 回答 3

0

也许您的会话已经开始

if(!session_id()){
session_start();
}
于 2012-04-30T06:33:59.883 回答
0

同样的问题。我无法从中获得太多用处,但我确实找到了这个(如果你还没有看到它):php 命令行问题

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

于 2013-03-30T09:31:58.353 回答
0

问题在于 php 命令行,因此最好使用 wget 而不是 php-q 在 cron 上运行

我在 cron url使用 wget http://exampl.com/url_for_script.php

它对我有用

于 2013-08-18T16:03:57.823 回答