我正在使用 Facebook SDK 在我自己的 Facebook 页面上发布一些测试墙帖子。当我在浏览器上运行脚本时它工作正常但是当我从终端运行它时它给我如下错误,我不知道有什么问题请帮忙。我想每 6 小时使用 php CRON 脚本在我的 Facebook 页面上发布一次。
未定义的索引:Facebook/src/base_facebook.php 中的 HTTP_HOST 错误
cron 执行 PHP 不像 apache 的模块,所以很多环境变量不是由服务器设置的。从 cron 执行时,您的 PHP 脚本就像 GCI 之一,更准确地说是它的 CLI(命令行界面 - php-cli)。所以你可以想象,没有 Web 服务器,也没有 HTTP_HOST。
PS:您可以将数据(url、主机名或任何您喜欢的)作为命令行参数(环境变量)传输到 PHP:命令行使用
添加:
$php -f cronjob.php HTTP_HOST=www.mysite.com #example
<?php
// cronjob.php
$host = $_GET['HTTP_HOST']; // Get the host via GET params
?>
如果您从终端或 cron 作业运行脚本,则没有 HTTP 环境。
wget http://.../parameters
一个可能的解决方案是使用 a而不是 with运行脚本php scriptname
。