繁体   English   中英

exec和popen之间的区别

[英]The difference between exec and popen

我想在我的服务器上运行外部PHP文件我发现我可以使用execpopen

我读到popen用于Windows,而exec用于Linux。

另一方面,我看到了popen也可用于Linux的示例。 我还是个新手。 可能吗? 如果execpopen工作,你推荐哪种Linux?

请问有什么好处,因为我仍然感到困惑。

如果您只需要执行外部应用程序,请使用exec()shell_exec() 如果你需要一个指针,则使用popen() ,类似于fopen()对文件的作用。 fopen()只是打开指向文件的指针,没有别的。 然后你需要其他函数( fread()fwrite() )来实际使用该文件。

同样的逻辑适用于popen()

exec()shell_exec()可以在windows和linux上使用。

在我的例子中,我使用popen从Apache Web应用程序运行异步PHP脚本。 我正在尝试execshell_execpclosepopen (...)),并且唯一创建新进程并异步执行它的是popen 所有其他人在回答浏览器之前等待脚本完成。

我的配置是CentOS7,PHP 5.4.16和Apache 2.4,还没有在Windows上试过。

PHP旨在独立于平台。 所有流程执行功能都适用于Linux和Windows(以及PHP支持的任何其他平台)。 在您从不受信任的来源“听到”某些内容之前,建议您阅读PHP手册

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM