这个问题在这里已经有答案了:
如何显示PHP错误?
(29个答案)
(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>;
<;头>;
<;标题></标题>;
<;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']='';
}
?>;
</头>;
<;车身>;
<;?php foreach($erras$line){?>;
<;div style=“error”>;?php echo$line;?>;<;/div>;
<;?php}?>;
<;h1>;注册</h1>;
<;form method=“post”>;
推荐人id:<;br/>;
<;输入type=“text”name=“referer”/>&书信电报;br/>&书信电报;br/>;
姓名:<;br/>;
<;输入type=“text”name=“display_name”value=“<;?php echo$form['display_name'];?>;”/>&书信电报;br/>&书信电报;br/>;
电子邮件:<;br/>;
<;输入type=“text”name=“email”value=“<;?php echo$form['email'];?>;”/>&书信电报;br/>&书信电报;br/>;
密码:<;br/>;
<;输入type=“text”name=“password”value=“<;?php echo$form['password'];?>;”/>&书信电报;br/>&书信电报;br/>;
<;输入type=“submit”value=“register”/>;
</表格>;
</车身>;
</html>;
可以在php.ini或Apache配置文件中关闭显示错误
您可以在脚本中打开它:
错误报告(E\u ALL);
ini_集('display_errors','1');
您应该在PHP错误日志中看到相同的消息