在后台运行进程,不要延迟php应用程序

在后台运行进程,不要延迟php应用程序,php,post,curl,http-post,http-status-code-404,Php,Post,Curl,Http Post,Http Status Code 404,我是php开发新手 我将curl php post发送到外部url,我想检查post的stats是否不等于200。php应用程序应该在15分钟后发送相同的post和相同的数据,我这样做了,效果非常好,但我的问题是我使用sleep();函数将帖子延迟15分钟,我的应用程序将一直忙到睡眠功能消失,我想问一下,我是否可以在后台不延迟应用程序来处理这个问题 这是我的代码: <?php $command = $Curl_Session = curl_init('http:www.example.co

我是php开发新手

我将curl php post发送到外部url,我想检查post的stats是否不等于200。php应用程序应该在15分钟后发送相同的post和相同的数据,我这样做了,效果非常好,但我的问题是我使用sleep();函数将帖子延迟15分钟,我的应用程序将一直忙到睡眠功能消失,我想问一下,我是否可以在后台不延迟应用程序来处理这个问题

这是我的代码:

<?php
$command = $Curl_Session = curl_init('http:www.example.com');
$command .= curl_setopt ($Curl_Session, CURLOPT_POST, 1); 
$command .= curl_setopt ($Curl_Session, CURLOPT_POSTFIELDS, "contentID=".$newsId."&contentType=".$content_type."&contentTitle=".$newsTitle."&contentBody=".urlencode(wordwrap($newsBody,true))."&contentOfToday=".$news_today."&contentTime=".$date_created."&contentIMGURL=".$news_image."&contentURL=".$bath_to_share."");
$command .= curl_setopt ($Curl_Session, CURLOPT_FOLLOWLOCATION, 1);
$command .= curl_exec ($Curl_Session);
sleep(10000);
shell_exec(sprintf('%s > /dev/null 2>&1 &', $command));
?>

谢谢大家 致以最诚挚的问候

好吧,你可以使用“(true)”

因此脚本将继续工作(注意脚本的持续时间,可能会添加“(0)”)

但这里有一个警告:您将无法使用以下两行停止脚本:

ignore_user_abort(true); 
set_time_limit(0);
除非您可以直接访问服务器并在那里终止进程!(在那里,做了一个无休止的循环,一遍又一遍地呼叫自己,让服务器尖叫着停下来,被人大喊大叫……)


每15分钟用cron运行一次脚本怎么样?为什么要这样阻塞服务器?解决此问题的最佳方法是什么?我的建议是使用cron,除非在用户中止后必须进行一些日志记录删除睡眠()函数并创建一个cron条目,如下所示:
*/15****/path/to/your/script.php
每15分钟运行一次。谢谢@kodeart,但我不想每15分钟运行一次cron。如果post状态不等于200,我希望此过程运行,例如404对于OP脚本,这正是您建议的:销毁您的服务器。