草庐IT

阻塞性

全部标签

php - Windows/Temp 目录中充满了阻塞服务器的 Php Session 文件

大家好,我是意大利人,对于如下错误我提前道歉:)对于我的服务器来说,那是黑暗的日子,我疯狂地想知道可能是什么问题。以为是数据库配置不好,或者是硬盘有问题,想着换服务器。当它通过碎片整理和磁盘扫描(不可运行)测试硬盘时,我决定打开CCleaner,奇迹发生了。Windows/Temp文件夹被完全阻止,您甚至无法打开IT。CCleaner在10小时内清理了文件夹:')10小时清理一个文件夹!经过一天的清理,今天早上我去检查了一下,里面有18000个0kb的文件或最大10kb的文件都称为“sess_0a5u2ou87......”(sess_是前缀,我认为后面跟着通过md5)。当我打开其中一

php - 如何进行非阻塞 php exec 调用?

我需要将文本回显到Linux中的命名管道(FIFO)。即使我在后台运行“&”并将所有输出重定向到/dev/null,shell_exec调用始终会阻塞。这个问题在整个互联网上有很多答案,它们基本上都指向以下php手册部分:Ifaprogramisstartedwiththisfunction,inorderforittocontinuerunninginthebackground,theoutputoftheprogrammustberedirectedtoafileoranotheroutputstream.FailingtodosowillcausePHPtohanguntilth

php - 如何以非阻塞方式在 PHP 中休眠?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowcanIstopPHPsleep()affectingmywholePHPcode?PHP:Outputdatabeforeandaftersleep()?我在本地主机中有一个php代码,它回显数据并在两者之间休眠。在客户端,我能够及时看到接收到的数据并进行渲染。$condition=true;while($condition){$data=get_some_data();//maynotfetchnewdatatobesent,eachiteration.echo$data;ob_flush();$i

php - 将大文件上传到服务器(非阻塞)

所以我正在开发一个需要与4d应用程序通信的php应用程序。4d应用程序使用SOAP网络服务进行外部通信。SOAP网络服务具有启用文件上传到4d应用程序的功能。由于4d应用程序web服务的文件上传功能的破坏性,我们实现了一个进度条来将文件上传到web服务器,然后在成功后尝试将文件发送到4d应用程序服务器。但对于客户端来说,这并不好,因为该人需要等待初始文件上传到服务器,然后在执行文件上传功能时再次将文件从Web服务器传输到4d应用程序的服务器。我的问题是,有什么方法可以以非阻塞方式处理文件上传吗?甚至可能一起绕过SOAP函数。更新:我在想也许可以使用RabbitMQ之类的东西对每个文件上

PHP 非阻塞 soap 请求

用户在我的网站上注册后,我需要以不阻塞用户的方式发送soap请求。如果soap服务器运行缓慢,我不希望最终用户不得不等待它。有没有一种方法可以发送请求并让我的主要PHP应用程序继续运行而无需等待soap服务器的响应?如果没有,是否有办法在soap请求上设置最大超时,并在请求大于最大超时时处理功能?编辑:理想情况下,我希望通过请求的最大超时来处理这个问题。我有以下内容://ini_set('default_socket_timeout',1);$streamOptions=array('http'=>array('timeout'=>0.01));$streamContext=strea

PHP 运行非阻塞系统调用

如何在PHP中运行非阻塞系统调用?系统调用将调用由第二个PHP脚本运行的流服务。所以我的页面会等待这个调用。我对解决方案的两个想法:1:存在非阻塞执行系统调用的native方法/参数2:在一个新的C++程序上运行system(),然后该程序将在9月fork自身并运行实际的php脚本。线程是否有以非阻塞方式执行系统调用的native方法,或者我是否需要绕过这个...我目前有shell_exec('nohupphp/path/to/file.php&')但它仍然有效 最佳答案 来自PHPmanual:Ifaprogramisstarte

php - 如何在不阻塞线程的情况下调用 PHP?

我有2个PHP文件。一个文件是caller.php,另一个是worker.phpcaller.php将在(linux)系统上启动worker.php并且caller.php应该立即结束(而worker.php仍在服务器上工作)worker.php需要很多时间,它会将状态写入数据库或文件。我希望能够在启动“phpworker.php”的浏览器中打开caller.php,关闭浏览器,在5分钟后返回并检查状态..(或者脚本将在完成后发送邮件)-任何想法如何做到这一点? 最佳答案 您可以结束客户端连接并继续处理,全部完成。如果处理花费的时间

php - 服务器发送的事件 PHP 阻塞流

我不知道这是否是一个问题,但是,我使用服务器发送事件而不是ajax从php到javascript进行提要。一切正常,除了在服务器端休眠,保持事件源阻止网页流。我做了一个非常简单的代码来测试,我得到了相同的结果。我会把代码放在上面。服务器发送事件挂起页面流量?它不像ajax那样执行异步请求吗?主要问题是:服务器发送的事件挂起代码流,我的意思是,页面等待EventSource保持代码执行,每次eventSouce打开连接或接收消息。当我在服务器端代码上休眠时,我可以清楚地看到这一点,我的页面停止休眠时间,运行3秒,然后再次挂起。当我进行ajax调用时,调用是异步的,因此即使我在服务器端休眠

php - 一个 ajax 调用会阻塞其他 ajax 调用

加载我的页面后,我对php脚本执行Ajax调用,这会更新我的服务器。但是,此脚本有时可能需要一分钟多的时间才能完成,并且在脚本运行时,我无法执行我需要处理的其他Ajax调用-即第一个Ajax调用不应中断其他Ajax调用。知道如何做到这一点吗?第一个Ajax调用:$(document).ready(function(){$.ajax({url:"checkForUpdatesByCoach.php",success:function(arg){if(arg=="200"){$('body').prepend("Dineholderblevetopdateret.Trykforatopda

php - 从 PHP 脚本运行 PHP 脚本而不阻塞

我正在构建一个蜘蛛,它将遍历各种站点并对它们进行数据挖掘。由于我需要分别获取每个页面,这可能需要很长时间(可能需要100页)。我已经将set_time_limit设置为每页2分钟,但不管怎样,apache似乎都会在5分钟后终止脚本。这通常不是问题,因为它会从cron或没有此时间限制的类似程序运行。但是,我也希望管理员能够通过HTTP接口(interface)手动启动提取。apache在整个持续时间内保持事件并不重要,我打算使用AJAX触发获取并偶尔使用AJAX检查一次。我的问题是如何从PHP脚本中开始获取,而不会在调用它的脚本终止时终止获取。也许我可以使用system('script.