Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP CLI execute输出HTML_Php_Html_Command Line Interface - Fatal编程技术网

从PHP CLI execute输出HTML

从PHP CLI execute输出HTML,php,html,command-line-interface,Php,Html,Command Line Interface,我希望这个问题有意义——可能是因为我不完全理解正在发生的事情。。但在谷歌搜索了相当长一段时间后,却毫无结果: 我试图做的是在命令行上使用PHP filename.PHP执行一个PHP文件,并以HTML的形式获得输出,这样它就可以显示为一个网页。目前,命令行只是返回原始文本输出,没有HTML标记。当前PHP文件中唯一的代码行是: 这可能吗?如果不是,MAMP etc如何执行该文件以生成HTML输出 谢谢 您必须生成HTML,而不是MAMP、LAMP或其他任何人。您运行该程序,该程序生成其输出。因此

我希望这个问题有意义——可能是因为我不完全理解正在发生的事情。。但在谷歌搜索了相当长一段时间后,却毫无结果:

我试图做的是在命令行上使用
PHP filename.PHP
执行一个PHP文件,并以HTML的形式获得输出,这样它就可以显示为一个网页。目前,命令行只是返回原始文本输出,没有HTML标记。当前PHP文件中唯一的代码行是:

这可能吗?如果不是,MAMP etc如何执行该文件以生成HTML输出


谢谢

您必须生成HTML,而不是MAMP、LAMP或其他任何人。您运行该程序,该程序生成其输出。因此,如果您想查看HTML,只需吐出HTML。

phpinfo()
如果从命令行执行,则不会输出HTML。但是,在命令行中执行时,HTML将作为文本返回。

HTML只是文本。这没什么特别的

<?php
  echo '<p>this is html, you'll want the header, body tags, and content.';
?>
HTML是文本(例如ASCII)输出,包含具有特殊含义的字符序列

做这样的事

php filename.php > webpage.html
然后使用浏览器查看
webpage.html

至于函数
phpinfo()
我不太确定生成输出需要哪些环境/全局变量。

phpinfo()函数足够智能,可以识别请求来自何处如果请求来自CLI则不会返回html,但当请求来自apache时,它会将其与html合并并发送输出


下面列出了一个将phpinfo()的cli原始输出转换为html的示例,但我没有尝试过。

如果从cli使用php cgi而不是php,则程序将像在Web服务器上运行一样运行。它将无法访问$\u SERVER、$\u POST、$\u GET等中的任何内容,但会导致phpinfo()生成HTML而不是纯文本。

其中phpinfo.php包含:

<?php phpinfo();

如果希望从控制台执行时输出包含HTML,重要的是使用php cgi而不是php

您是否意识到在命令行界面中没有任何类型的HTML呈现引擎可用?你只能看到文本,HTML本质上就是文本。啊,不,我没有意识到——但我猜是这样的。是的,当我谈论HTML时,我的意思是我想要一个输出,就像查看网页的源代码一样,该网页显示了
phpinfo()
的输出。有没有其他方法可以在不使用MAMP等的情况下使用HTML呈现引擎执行PHP?没有。您所能实现的最好功能是使用CLI中的webkit创建一个屏幕截图或PDF,这比安装Apache和使用浏览器查看HTML输出要麻烦得多。我明白了-有没有办法让它输出包含HTML标记的文本,就像我要去查看显示
phpinfo()
(使用正确的样式表、视觉格式等)?我不确定
phpinfo()
在内部使用哪个方法来确定它是CLI请求还是HTTP请求,但应该可以欺骗。否则,您可以从脚本向运行
phpinfo()的文件发出HTTP请求
,然后它将返回HTML。@cud_程序员-HTML没有什么特别之处。只是一个遵循某些约定的文本文件。至于
phpinfo
,我不知道引擎盖下发生了什么。也许可以将全局变量设置为运行它的服务器。从服务器运行
phpinfo
会为您列出它们。只需在脚本开始时将它们设置为相同的值,即可从命令行运行脚本。这不起作用,因为您只是将php文件的结果输出到html文件中,他需要嵌入htmloutput@PankajKhairnar-请阅读最后一条声明wrt
phpinfo
。顺便说一句-见下文。
php-cgi phpinfo.php > phpinfo.html