为什么 phpinfo() 在 LEMP 堆栈中输出 html?
Why does phpinfo() output html in a LEMP stack?
我得到了 LEMP 堆栈 运行,但不明白为什么显示 html 页面。我在 info.php 中得到以下内容:
<?php
phpinfo();
?>
直接执行得到如下信息:
php info.php | head -n 2
phpinfo()
PHP Version => 7.0.18-0ubuntu0.16.04.1
但是当我通过 nginx 访问 info.php 并且 fastcgi 访问 php 时,会返回一个完整的 html 页面,包括链接和 php 徽标。开头例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<style type="text/css">
body {background-color: #fff; color: #222; font-family: sans-serif;}
每当我使用其他 php 脚本回显某些文本时,这种情况不会发生,只会返回文本。
谁能解释为什么会这样?
这就是 PHP 的构建方式。来自 documentation:
Note: phpinfo() outputs plain text instead of HTML when using the CLI mode.
PHP 检测其 运行 所在的上下文,并采取适当的行动。仅此而已。
我得到了 LEMP 堆栈 运行,但不明白为什么显示 html 页面。我在 info.php 中得到以下内容:
<?php
phpinfo();
?>
直接执行得到如下信息:
php info.php | head -n 2
phpinfo()
PHP Version => 7.0.18-0ubuntu0.16.04.1
但是当我通过 nginx 访问 info.php 并且 fastcgi 访问 php 时,会返回一个完整的 html 页面,包括链接和 php 徽标。开头例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<style type="text/css">
body {background-color: #fff; color: #222; font-family: sans-serif;}
每当我使用其他 php 脚本回显某些文本时,这种情况不会发生,只会返回文本。
谁能解释为什么会这样?
这就是 PHP 的构建方式。来自 documentation:
Note: phpinfo() outputs plain text instead of HTML when using the CLI mode.
PHP 检测其 运行 所在的上下文,并采取适当的行动。仅此而已。