20

可能重复:
如何告诉 PHP 将异常转储为原始文本而不是 HTML?

我正在尝试使用 C# 和 php 制作登录脚本,我计划将其作为一键安装出售,因此我需要它来防错。我故意尝试在设置中出错,但是每当我的 php 脚本出错时,当我只想要一个字符串输出时,它就会有一个带有错误的 HTML 块输出(请参阅图片)。

这是我正在使用的代码

// We will now set up our MySQL database login. The values should be self-explanatory. 
$sqlhost = "localhost";
$sqlusername = "unity";
$sqlpassword = "mypass123";

//we will now connect to our database
$sqlcon = mysql_connect($sqlhost, $sqlusername, $sqlpassword) or die("Could not connect to database: " . mysql_error());

当我拥有所有信息时,它工作正常,其余代码运行没有错误。但是,如果我的密码错误或用户无权访问,那么我会收到此错误

我试图避免的错误

我从该页面检索到信息,它需要作为计划文本发送才能正确显示。我的意思是,任何 HTML 标记(例如<div>, <br>, <a>,etc)通常只会使文本输出看起来很糟糕。我希望它只在页面底部显示文本,因为它会记录错误本身。我不需要它记录两次,也不需要它被格式化。我需要它以纯可读文本的形式出现,这样如果用户有错误,他们可以将短文本发送给我,我将能够引导他们完成修复。

4

1 回答 1

38

PHP 是否显示纯文本或 html 错误取决于您的php.ini 配置

html_errors boolean

关闭错误消息中的 HTML 标签。HTML 错误的新格式会生成可点击的消息,将用户引导至描述错误或导致错误的功能的页面。这些引用受 docref_root 和 docref_ext 的影响。

该设置设置为PHP_INI_ALL,这意味着任何地方,包括您的脚本。所以要禁用html错误

ini_set('html_errors', false);

在脚本的开头。

于 2012-06-03T10:06:00.173 回答