Я делаю php-файл, который будет запускать событие через пять минут. Из документов кажется, что ждать пять минут потребуется только sleep(300)
, но это не работает. Я тестировал весь другой код, и он отлично работает, пока я не добавлю строку sleep
.
<?php /** * Twitter App * bagelBack.php * Takes parameters from $_POST and creates a tweet * RKoutnik, 2012 * Code originally found on http://140dev.com/twitter-api-programming-tutorials/hello-twitter-oauth-php/ */ $name = '@'.$_POST['twitterName']; $type = $_POST['bagelType']; /* BEGIN CONTENT SPINNER TO IMPRESS LYNK */ $bagels = array( 0 => "bagel", 1 => "breakfast treat", 2 => "doughy food-type item", 3 => "round yeast-raised munchie", 4 => "doughnut-shaped roll", 5 => "hard-crusted treat" ); $finished = array( 0 => "finished toasting", 1 => "completed toasting", 2 => "stopped being raw", 3 => "concluded the toasting phase", 4 => "been sucessfully executed", 5 => "been roasted to a crisp" ); $food = $bagels[array_rand($bagels)]; $fin = $finished[array_rand($finished)]; sleep(300); $tweet_text = $name.", Your ".$type." ".$food." has ".$fin; $result = post_tweet($tweet_text); echo "Response code: " . $result . "\n"; function post_tweet($tweet_text) { // Use Matt Harris' OAuth library to make the connection // This lives at: https://github.com/themattharris/tmhOAuth require_once('tmhOAuth.php'); // Set the authorization values // In keeping with the OAuth tradition of maximum confusion, // the names of some of these values are different from the Twitter Dev interface // user_token is called Access Token on the Dev site // user_secret is called Access Token Secret on the Dev site // The values here have asterisks to hide the true contents // You need to use the actual values from Twitter $connection = new tmhOAuth(array( 'consumer_key' => '[redacted]', 'consumer_secret' => '[redacted]', 'user_token' => '[redacted]', 'user_secret' => '[redacted]', 'curl_ssl_verifypeer' => false )); // Make the API call $connection->request('POST', $connection->url('1/statuses/update'), array('status' => $tweet_text) ); return $connection->response['code']; } ?>
Попробуйте добавить set_time_limit(0);
в верхней части документа. Скорее всего, он достигает «максимального времени выполнения» и приводит к завершению работы скрипта.