[英]The difference between exec and popen
我想在我的服务器上运行外部PHP文件我发现我可以使用exec
或popen
。
我读到popen
用于Windows,而exec
用于Linux。
另一方面,我看到了popen
也可用于Linux的示例。 我还是个新手。 可能吗? 如果exec
和popen
工作,你推荐哪种Linux?
请问有什么好处,因为我仍然感到困惑。
如果您只需要执行外部应用程序,请使用exec()
或shell_exec()
。 如果你需要一个指针,则使用popen()
,类似于fopen()
对文件的作用。 fopen()
只是打开指向文件的指针,没有别的。 然后你需要其他函数( fread()
, fwrite()
)来实际使用该文件。
同样的逻辑适用于popen()
。
exec()
或shell_exec()
可以在windows和linux上使用。
在我的例子中,我使用popen
从Apache Web应用程序运行异步PHP脚本。 我正在尝试exec
, shell_exec
和pclose
( popen
(...)),并且唯一创建新进程并异步执行它的是popen
。 所有其他人在回答浏览器之前等待脚本完成。
我的配置是CentOS7,PHP 5.4.16和Apache 2.4,还没有在Windows上试过。
PHP旨在独立于平台。 所有流程执行功能都适用于Linux和Windows(以及PHP支持的任何其他平台)。 在您从不受信任的来源“听到”某些内容之前,建议您阅读PHP手册
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.