我已经写了一个带“C”的程序,我想用php来执行它,我尝试使用函数php_exec,但它不起作用。为了更具体地解决我的问题,我会告诉你一些细节。这个程序是用来使下载更快,简而言之,用户将进入到一个网页,一个把他们的直接链接,然后提交他们的链接,从我的服务器有一个直接的链接,这里的问题是,“我怎么能让用户使用它,是否有任何相当于php_exec?“因为我认为,php_exec不起作用,如果许多用户在同一时间发送他们的链接,我也想知道,这可能会损害我的服务器? 谢谢!PHP:在后台多次执行一个程序,一次
0
A
回答
3
在这种情况下,您可能不想使用exec
,因为它会一直等到执行完的程序完成后阻止完整的脚本。
的PHP Documentation告诉你以下几点:
注:如果程序开始使用此功能,以便它继续在后台运行,该程序的输出必须重定向到一个文件或另一个输出流。否则会导致PHP挂起,直到程序执行结束。
但是,您可能希望将链接添加到队列(也许是数据库),然后每隔一段时间执行一次cron作业,然后下载存储在队列中的文件。
另一个类似的问题与excellent answer。
1
// Start your 'downloader'
$handle = popen('/path/to/executable 2>&1', 'r');
// While it's generating output, print it to the screen
while (!feof($handle)){
echo fread($handle, 2096);
}
// Close the process handle
pclose($handle);
这将允许多个用户在同一时间使用它。每个PHP进程将分支它自己的副本/path/to/executable
,并且将启用将后台进程的输出刷新到用户屏幕。
相关问题
- 1. PHP - 一次执行多个脚本(AJAX)
- 2. PHP一次一个地执行PHP吗?
- 3. 执行一个PHP方法一次
- 4. PHP执行多次
- 5. 执行多个命令行一次
- 6. php执行次序
- 7. 每次执行一个方法后暂停一次
- 8. 在多线程C#程序中执行一次初始化
- 9. 执行一次
- 10. 一次执行exec多次查询一次SQL
- 11. jQuery .append一次只能执行一次(目前多次出现)
- 12. 应用程序的第一次执行
- 13. 一次执行多个修改操作
- 14. 一个Linq2Sql submitchanges()调用多次执行
- 15. 一次执行多个Python命令
- 16. 编写一个在后台运行的程序,并且每小时执行一次动作
- 17. jQuery在执行一次后不工作
- 18. Java,多个线程,每次只执行一个线程
- 19. 每10分钟在后台执行一次数据库操作
- 20. Android Java在后台每秒执行一次函数
- 21. 在后台每5分钟执行一次函数
- 22. 如何一次又一次启动和停止后台线程?
- 23. 在一次执行中更新多列
- 24. 只执行一次SQL函数一次
- 25. 只执行一次Sql命令一次
- 26. 一次运行多个if语句PHP
- 27. Javascript执行一次
- 28. 后台StreamSocketListener只运行一次
- 29. 一个程序,在后台运行(JAVA)
- 30. Python程序被执行多次