【问题标题】:What is the difference between phpinfo(); and php -i?phpinfo(); 和 phpinfo() 有什么区别?和 php -i?
【发布时间】:2016-06-30 15:17:07
【问题描述】:

在 DDG 上搜索,在这里没有得到任何有趣的结果。我听说它们不同,但我想知道是什么让它们不同,两种不同的配置有什么优势?

编辑:是的,我都从 CLI 运行它们。

【问题讨论】:

  • 一个是 php 命令 - 另一个是二进制文件的参数。如果您通过浏览器获取信息,您将永远不会运行php -i。在您的终端中,两者都将返回相同的结果,但 phpinfo 如果在浏览器中运行,则将格式化为 HTML。 RTM: phpinfo() outputs plain text instead of HTML when using the CLI mode.
  • 您是否都从 CLI 运行它们?
  • @toomanyredirects 是的。

标签: php phpinfo


【解决方案1】:

phpinfo() 是一个语言函数,无论执行它的脚本是通过 Web SAPI 还是从 CLI 调用,都会显示其输出;

php -i 纯粹是一个命令行开关,用于从命令行获取有关 PHP 的信息。

为什么 web sapi 和 CLI 的配置不同?因为你可能有不同的要求;开发人员通常会运行很长的命令行脚本,并且不希望应用 web sapi 超时,与内存设置类似;和 max file/post size ini 设置对于 CLI 来说毫无意义,那么当它们仅用于 Web 时,为什么还要将它们放在 cli ini 文件中呢?

【讨论】:

【解决方案2】:

根据您的服务器分布,可能会有单独的 php.ini 用于命令行和 Web 服务器的文件。

来源:

专业 PHP 模式、框架、测试等 凯文麦克阿瑟

https://books.google.pl/books?id=CpUhDavmgSMC&pg=PT410&lpg=PT410&dq=%22php+-i+command%22&source=bl&ots=iljmNZ96ZU&sig=iRrX8_UjJWiOzlLtRz0zwJOtQJc&hl=pl&sa=X&ved=0ahUKEwicoq6NrsLLAhVjQZoKHeSSA8wQ6AEIPDAE#v=onepage&q=%22php%20-i%22&f=false

【讨论】:

    【解决方案3】:

    php -i 为您提供使用phpinfo() 获得的相同信息但是

    • 可以使用与 Web 服务器不同的 INI 文件集(因此您可以为某些配置参数设置不同的
    • 它以控制台友好的方式格式化数据(例如,没有 html 标签)

    编辑: 不要挖掘来源,但我可以打赌两者都使用相同的代码来提取他们的信息..换句话说 php -i 是以控制台感知的方式和上下文“调用phpinfo()

    【讨论】:

    • "它以控制台友好的方式格式化数据" - so does phpinfo()
    • phpinfo() 可以 .. 不一样 ;)
    猜你喜欢
    • 2018-01-15
    • 2023-03-26
    • 2011-03-21
    • 2012-02-07
    • 2010-12-17
    • 2011-03-21
    • 2021-08-25
    相关资源
    最近更新 更多