PHP sleep() not working

给你一囗甜甜゛ 提交于 2019-12-07 01:49:12

问题


I'm making a php file that will run an event after five minutes have elapsed. From the docs, it seems like waiting five minutes would only require sleep(300), but this isn't working. I've tested all the other code, and it works fine until I add the sleep line.

<?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'];
}
?> 

回答1:


Try adding set_time_limit(0); at the top of the document. Chances are it is reaching the "maximum execution time" and causing the script to terminate.



来源:https://stackoverflow.com/questions/10998178/php-sleep-not-working

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!