【问题标题】:Run PHP script using Mac Terminal使用 Mac 终端运行 PHP 脚本
【发布时间】:2012-04-18 05:26:00
【问题描述】:

现在我可以从我的 Mac 终端运行 PHP 脚本,比如回显一些输出、创建文件夹等。这只是 PHP,它不接受任何输入参数。

是否可以运行带有 HTML 部分的 PHP 脚本,该部分包含用于输入用户名的表单,该用户名再次发布在 PHP 部分中,以便我可以使用输入的用户名创建文件夹名称。我想使用终端来测试它,而不是 Mac 上的浏览​​器。

我刚刚尝试使用 html 部分运行脚本,我在终端输出中得到的是整个 html 部分只是反映为终端输出中的输出,包括标签。我想要的可能吗?

【问题讨论】:

  • 您想在终端窗口中显示 HTML 表单?如果要显示 HTML 内容,则需要一个浏览器。
  • 简单的答案是“不,不可能”。
  • 感谢 cmets guyz,我得到了答案!
  • ...但是 PHP 有 ncurses 绑定

标签: php html macos terminal


【解决方案1】:

PHP 确实从终端获取参数,只需执行您的脚本 ./myScript.php name 并且在您的脚本中 $argv[1] 将持有 name。 $argv[0] 是当前脚本的绝对路径。

虽然我不太确定你的脚本是做什么用的,但你可能想阅读一下 php-cli...它比你想象的要复杂得多

【讨论】:

    【解决方案2】:

    Apache 负责 web 请求,没有 web 服务器就不能将帖子发送到 php 文件。如果您在控制台中运行文件,您将得到的只是一堆 HTML,但控制台无法解释 HTML,这就是浏览器所做的,但是您可以制作一个 PHP 脚本以在控制台中运行并请求如果这是您需要的用户名,这是唯一的方法。

    虽然 PHP 有一个带有最新版本的 built-in webserver,但如果你不想要像 apache 这样的网络服务器,你可以只使用 PHP 的浏览器。

    【讨论】:

      【解决方案3】:

      我不认为你的要求是可能的。终端不“知道”什么是 HTML,它实际上只是一堆文本字符串。 HTML 表单在浏览器中显示的原因是 HTML 被渲染。

      PHP 确实支持命令行脚本,但与其输出 HTML 字符串,不如输出纯文本字符串。终端窗口不像浏览器窗口那样具有交互性,因此您能做的最好的事情就是提出问题并等待文本响应。我从来没有用 PHP 做过这个,我不知道这是否可能。如果您熟悉 PHP,您可能会发现迁移到 Perl 或 Python 相对容易,这两者都允许这种交互式会话样式。

      【讨论】:

        【解决方案4】:

        要解释 HTML 内容,您需要一个浏览器;终端窗口只会以纯文本格式显示输出。

        但是,如果您想在终端窗口中读取用户的输入,您可能需要查看 I/O 流:http://www.php.net/manual/en/wrappers.php.php

        【讨论】:

          猜你喜欢
          • 2018-01-08
          • 2020-04-01
          • 1970-01-01
          • 2020-08-14
          • 1970-01-01
          • 2018-10-10
          • 2011-08-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多