【发布时间】:2018-01-07 21:30:29
【问题描述】:
我已经广泛搜索以解决在 phpdesktop 中打开外部程序而没有 PHP 等待最终导致 PHP 超时的问题。
我需要能够使用exec() 启动程序并执行其余的PHP 代码,而无需等待exec() 命令。我尝试了多种解决方案。更复杂的是,正在打开的文件位于网络驱动器上。这是我尝试过但没有奏效的方法
pclose(popen('start' .$File. '>NUL 2>NUL"', 'r')); This didn't work because the drive is on the network
exec($File); Doesn't work as it waits instead of executing the remainder of the code
system($File); Doesn't work. Same result as exec()
exec($File > /dev/null); Obviously doesnt work because php is on windows
正在执行的文件是视频文件:mp4、avi 或 mkv。所以它正在打开外部视频播放器文件,但就像我在上面所说的那样,PHP 最终会超时并在 30 秒后给出错误,而不执行其余代码。我只需要 PHP 忽略它打开的程序并继续执行它的任务。任何帮助将不胜感激。
【问题讨论】:
-
它在服务器上打开一个视频播放器?这似乎很奇怪。
-
“这不起作用,因为驱动器在网络上”。你怎么知道这是原因? “没用”是什么意思?您遇到了什么问题或错误?
-
phpdesktop 作为桌面应用程序在本地运行,因此它不会在服务器上打开。它没有工作,因为 Windows 抛出一个错误,说它无法访问网络驱动器并且进一步研究我发现它工作正常,除了在网络驱动器上使用它时
标签: php phpdesktop