Каждый час, начинающийся с 12:30 (и переход на 1:30, 2:30 и т. Д.), Мое приложение опубликует статическое твит. В настоящее время я использую API твиттера themattharris. У меня тоже есть работа cron.
30 * * * * php -q /home1/USER_NAME/public_html/twitter/index.php
Проблема, с которой я сталкиваюсь, заключается в том, что PHP-код работает, когда я вручную обновляю index.php и мои работы cron. Электронная почта, которую я получаю от моей работы 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 действительно получит ответ.