作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有什么方法可以强制出现数据库连接错误,以便我可以测试我的 PHP 代码的错误处理?我们知道,对于 PDO,错误处理不当可能会导致在屏幕上显示完整的回溯跟踪,可能会泄露数据库的用户名和密码(如 php.net » pdo connections 上的警告)。
我一直在试图有意强制发生这种情况(通过重命名为虚构的数据库表等),但我还没有得到结果。还有其他模拟数据库问题的方法吗?
我在运行 Apache 的共享主机上具有 Cpanel 访问权限。
最佳答案
只需提供不正确的凭据。重命名表几乎没有帮助,因为连接中不涉及表。改为更改 host
、username
或 password
。
improper error handling can cause a full back trace to be displayed on-screen,
这是一个非常恰当的问题。
不过,解决方法很简单
display_errors
配置指令设置为 0。基本上你需要
try {
$pdo = new \PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
关于php - 测试 PDO 错误处理 : How to Force a Database Connection Error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58204246/
我是一名优秀的程序员,十分优秀!