显示所有错误和警告[重复]

这个问题在这里已经有答案了
如何显示PHP错误?

(29个答案)

两年前关闭的

更新2:

现在,我已从.php文件中删除以下内容:

<?php错误报告(E_ALL)&燃气轮机;

我在php.ini中设置了如下显示错误:

显示错误=On

php.ini中,错误报告设置如下:

错误报告=E|u全部| E|u严格

重新启动Apache后,我仍然没有收到任何错误/警告

更新1:

我已将php.ini中的错误报告更改为:

错误报告=E_全部&
~E_不赞成

错误报告=E|u全部| E|u严格

之后我重新启动了Apache,例如

/etc/init.d/apache2重新启动

但页面仍不会显示任何类型的错误/警告

原始问题:

以下脚本正在生成警告,因为$err位于if语句中。为什么web浏览器中的PHP页面上没有显示此警告

我必须查看Apache日志才能看到警告。此外,如果我故意将“insert-into”更改为“delete-into”,它不会在PHP页面上显示错误。为什么错误没有显示在实际的PHP页面上

<?php
错误报告(E_全部);
?>
<html>
<头>
<标题&gt&lt/标题>
<link rel=“icon”type=“image/png”href=”https://stackoverflow.com/questions/5438060/favicon.ico“>
<?php
如果($\u服务器['REQUEST\u METHOD']=='POST'){
$err=array();
if(空($\u POST['display\u name']))
$err[]=“需要显示名称字段”;
如果(空($_POST['email']))
$err[]=“电子邮件字段为必填项”;
if(空($_POST['password']))
$err[]=“需要密码字段”;
如果(!$err){
试一试{
$DBH=newpdo(“mysql:host=localhost;dbname=database1”、“user”、“pass”);
$DBH->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
$STH=$DBH->准备(“删除到表1(显示名称、电子邮件、密码)值(:显示名称、电子邮件、密码)”);
$STH->bindParam(“:display_name”、$_POST['display_name'],PDO::PARAM_STR,100);
$STH->bindParam(“:email”、$_POST['email'],PDO::PARAM_STR,100);
$STH->bindParam(“:password”、$u POST['password'],PDO::PARAM_STR,100);
$STH->执行();
$STH=$DBH->准备(“删除到表2中(用户名、状态、用户id)值(:用户名、状态、用户id)”);
$strStatus=1;
$STH->bindParam(“:username”、$\u POST['display\u name'],PDO::PARAM\u STR,100);
$STH->bindParam(“:status”,$strStatus,PDO::PARAM_INT,1);
$STH->bindParam(':users_id',$\u POST['referer',PDO::PARAM_INT,1);
$STH->执行();
$DBH=null;
}
捕获(PDO$e){
echo$e->getMessage();
}
标题(“位置:“.$”服务器['PHP\u SELF']);
出口
}
否则{
foreach($\作为$key=>$val发布){
$form[$key]=htmlspecialchars($val);
}
}
}
否则{
$form['display_name']=$form['email']=$form['password']='';
}
?>
&lt/头>
<车身>
<?php foreach($erras$line){?>
<div style=“error”>?php echo$line;?></div>
<?php}?>
<h1>注册&lt/h1>
<form method=“post”>
推荐人id:<br/>
<输入type=“text”name=“referer”/&gt&书信电报;br/&gt&书信电报;br/>
姓名:<br/>
<输入type=“text”name=“display_name”value=“<?php echo$form['display_name'];?>”/&gt&书信电报;br/&gt&书信电报;br/>
电子邮件:<br/>
<输入type=“text”name=“email”value=“<?php echo$form['email'];?>”/&gt&书信电报;br/&gt&书信电报;br/>
密码:<br/>
<输入type=“text”name=“password”value=“<?php echo$form['password'];?>”/&gt&书信电报;br/&gt&书信电报;br/>
<输入type=“submit”value=“register”/>
&lt/表格>
&lt/车身>
&lt/html>

可以在php.ini或Apache配置文件中关闭显示错误

您可以在脚本中打开它:

错误报告(E\u ALL);
ini_集('display_errors','1');

您应该在PHP错误日志中看到相同的消息

发表评论