【问题标题】:Run external program with PHP CLI使用 PHP CLI 运行外部程序
【发布时间】:2010-06-22 12:42:56
【问题描述】:

我想创建一个shell“菜单”

我不想为我的脚本使用 bash,而是希望使用 PHP。是否可以使用 php 运行与用户交互的外部程序?

例如,假设我希望 php 脚本运行 /bin/bash(只是一个示例),但是当退出 bash 时,又回到了脚本的开头(即再次显示菜单)

谢谢

【问题讨论】:

    标签: shell scripting php


    【解决方案1】:

    是的。

    见:

    具体来说:

    proc_open('/bin/bash', array(STDIN, STDOUT, STDERR), $a = array());
    

    【讨论】:

    • 所有这些都允许与用户交互,而不仅仅是在“后台”运行?
    • 已编辑以包含一个示例。
    • 谢谢。抑制任何错误消息(即不向用户显示它们)的最佳方法是什么?事实上,如果可以将错误发送到电子邮件地址,那就太好了……
    • 对于 PHP 错误设置 display_errors,对于命令错误,在 proc_open 的数组中使用 STDERR 以外的其他内容。
    【解决方案2】:

    PHP 可用于创建所谓的“菜单”程序,就像任何其他编程语言(例如 Python/Perl 等)一样。除非绝对必要,否则您可能正在调用专有应用程序,PHP 有自己的函数和模块来与操作系统交互。例如,如果要移动/复制文件,可以使用 rename()、copy() 等函数。请阅读 PHP 手册了解更多信息。当然,如果你真的想从 PHP 调用外部程序,你可以使用 exec() 或 shell_exec() 等等。检查手册。

    【讨论】:

    • 感谢有关 PHP 内置函数的提示,但是我希望运行“xm console x”来访问 Xen DomU 的控制台。如果只有 PHP 有这个内置 ;) !
    猜你喜欢
    • 2011-07-24
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    相关资源
    最近更新 更多