php - Cron 作业 + 推特

标签 php unix cron twitter

从 12:30 开始(一直到 1:30、2:30 等),我的应用程序将每小时发布一条静态推文。我目前正在使用 themattharris 的 twitter API。我也有一个 cron 作业。

30 * * * *   php -q /home1/USER_NAME/public_html/twitter/index.php

我遇到的问题是,当我手动刷新 index.php 和我的 cron 作业半工作时,PHP 代码可以工作。我从 cron 作业中收到的电子邮件是:

Error 200

我想知道的是,如何让我的 cron 工作?我的 cron 作业没有任何错误。

include 'tmhOAuth/tmhOAuth.php';

$tmhOAuth = new tmhOAuth(array(
    'consumer_key' => 'XXX',
    'consumer_secret' => 'XXX',
    'user_token' => 'XXX',
    'user_secret' => 'XXX',
));

// Bahrain's time zone
date_default_timezone_set ('Asia/Riyadh');

// Set status message
$timezone= date("g:i");
$tweetMessage = "It's now" .$timezone. "in Bahrain";

//Response
$response = $tmhOAuth->request('POST', $tmhOAuth->url('1.1/statuses/update'), array('status' => $tweetMessage));

//Do something if the request was unsuccessful    
if ($response != 200) {
    echo 'Error 200';
}

最佳答案

尝试:

30 * * * * /usr/bin/php '/home1/USER_NAME/public_html/twitter/index.php'

这是正确的语法,但在您的代码中看起来您实际上是在期待来自页面的响应,如果使用 cron,这将不起作用。

您可以像下面所说的那样使用 wget 获取实际的 URL,或者另一种选择是使用 Curl 实际发布和请求该 URL。如果您使用 Curl,您将能够使用标准的 cron,因为 Curl 实际上会收到响应。

关于php - Cron 作业 + 推特,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17635897/

相关文章:

shell - Cron 不执行。脚本工作正常

php - 如何在 Linux 中将 CRON 作业设置为每 10 秒运行一次?

bash - GREP:交互式与 crontab

linux - SSH 持久连接超时

Spring Boot,Cron作业同步

javascript - 给图像一个标准组大小的技巧

php - 在 $_REQUEST、$_GET 和 $_POST 中,哪一个最快?

php - MySQL - 更新多个值和 WHERE IN

php - 如何使按钮在同一页面上执行但不在下一页上执行

c - 管道排序并返回主