php长时间执行挂起现象怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php长时间执行挂起现象怎么解决?相关的知识,希望对你有一定的参考价值。

有2个页面,a.php负责读取远程数据并存入数据库,它执行一次需要30秒以上。
b.php负责读取数据库的最新内容显示出来。

问题:当a.php还没读完时(浏览器状态栏一直显示“正在等待192.168.1.100的响应”),再手动不断刷新b.php,希望实时看到数据库的内容,可是此时b.php也会卡住,(浏览器状态栏也一直显示“正在等待192.168.1.100的响应”)。如果a.php不执行,则b.php响应很快,没有延时。
真心求解答!谢谢

长时间执行的程序不建议用web(网页)方式,会影响其他服务。而且也可能因为超时导致操作失败。


PHP也支持CLI(命令行)方式,可以直接在CMD或shell中执行,不需耗费服务器资源,而且不存在超时的问题。下面是一个linux下CLI程序的例子:


#! /usr/bin/php

# 模拟耗时的操作
sleep(60);
echo 'Job finished!';


然后打开终端,执行:

chmox +x job.php
./job.php

望采纳~

参考技术A 试试看跑两个PHP服务吧!
nginx + 2个APACHE 吧!
a.php 和b.php跑在两个不铜的APACHE 上
前端由NGINX
分布式 这样有效减少内存相应!
以前我自己的网站也是这样架设的。

SQL Server 2014 安装卡住(挂起)或需要很长时间才能完成

【中文标题】SQL Server 2014 安装卡住(挂起)或需要很长时间才能完成【英文标题】:SQL Server 2014 installation stuck (hung up) or taking very long time to finish 【发布时间】:2017-03-14 03:35:35 【问题描述】:

我正在尝试安装 SQL Server 2014,但它会在同一个位置 (Install_VCRuntime_Cpu32_Action) 停留数小时。这已经是我第三次尝试安装了,所以我不知道还能做什么。

SQL Server 2014 安装

【问题讨论】:

您是否确认只进行了一次安装?我假设您在每次安装之间重新启动?另外,您使用的是什么版本的 windows 和 SQL Server? 是的,这只是一次安装,是的,我确实在两次安装之间重新启动,我的操作系统是 Windows 10 v.1607,它是 SQL Server 2014 v.12.0.2000.8 好的,我假设您的计算机已安装所有更新,并且挂起不是计算机尝试安装更新。您能否检查此链接msdn.microsoft.com/en-us/library/ms143702(v=sql.120).aspx 之后的日志并查看错误是什么? 相关帖子 - SQL Server 2017 Developer edition installation is stuck (hung up) endlessly 【参考方案1】:

我在 SQL express 2014 上遇到了同样的问题。当我去检查时,确实有一个 Windows Installer 正在运行。我杀死了那个进程,然后 SQL 继续安装得很好。

在这里找到这个: https://community.spiceworks.com/topic/483582-ms-sql-2014-install-freezing

【讨论】:

我在 MSSQL Express 2017 上也修复了解决方案 #1,方法是杀死两个 Windows 安装程序进程。谢谢!【参考方案2】:

我在同事的一个 Windows 10 机器中也观察到了同样的问题,其中包含 SQL Server 2014 Enterprise 安装程序。如this MS 连接错误中所述,您可以尝试以下任一选项:

    KevinMS 在 cmets 选项卡中提到:

我使用任务管理器并杀死了 Windows Installer 实例, 单击重试,安装完成。真是一败涂地。

你可以杀掉Windows Installer进程,如下图:

    正如 Jonathan Dyke 在解决方法选项卡中提到的:

已经解决了!

http://support.microsoft.com/kb/2820068

我用 2014 express 测试了这个解决方案,可以确认使用 /SkipInstallerRunCheck 像宣传的那样工作。安装程序不再 无法关闭 msiserver 时进入无限循环。

对于在 SQL Server 2014 设置中遇到此问题的同事,上述解决方案 #1 有效。

关于 SQL Server 2017:我的同事在 SQL Server 2017 上也遇到了完全相同的问题。我们没有在他的机器上的进程选项卡中看到“Windows Installer”应用程序。所以我们选择了解决方案#2,即以Setup.exe /SkipInstallerRunCheck 启动安装程序,它对他有用。从 PowerShell 控制台运行时,命令看起来像 .\Setup.exe /SkipInstallerRunCheck

【讨论】:

谢谢,但这不适用于下载文件为“SQLServer2017-SSEI-Dev.exe”参数无法识别的 SQL Server 2017 Developer 版本 .\Setup.exe /SkipInstallerRunCheck 为我工作,谢谢 这似乎也适用于带有 SP2 的 SQL Server 2016,谢谢 :)

以上是关于php长时间执行挂起现象怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode在iOS15真机上调试加载App挂起1分钟的根本原因及解决

Xcode在iOS15真机上调试加载运行App挂起1分钟的根本原因及解决

锁屏后,前台service被挂起的一个解决方法

当应用程序进入后台时,在前台执行的长时间运行的任务被挂起

WinForm 应用程序 UI 在长时间运行期间挂起

WinForm 应用程序 UI 在长时间运行期间挂起