从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-请阅读最后一条声明wrtphpinfo
。顺便说一句-见下文。
php-cgi phpinfo.php > phpinfo.html