display_errors
和错误报告是 E_ALL
。我已经重启了我的 Apache web 服务器。我甚至在我的脚本顶部加入了这些行,但它甚至无法捕捉简单的解析错误。例如,我使用
"$"
声明变量,但我没有关闭语句";"
。但所有我的脚本在出现这些错误时都显示一个空白页,但我希望实际上在浏览器输出中看到错误。error_reporting(E_ALL);
ini_set('display_errors', 1);
还有什么需要做的吗?
display_errors
和错误报告是 E_ALL
。我已经重启了我的 Apache web 服务器。"$"
声明变量,但我没有关闭语句";"
。但所有我的脚本在出现这些错误时都显示一个空白页,但我希望实际上在浏览器输出中看到错误。error_reporting(E_ALL);
ini_set('display_errors', 1);
还有什么需要做的吗?
xdebug.force_display_errors = 1;
xdebug.force_error_reporting = -1;
force_display_errors
类型:整数,默认值:0,自Xdebug >= 2.3引入。如果将此设置为1,则无论PHP的display_errors设置如何,错误始终会被显示。
force_error_reporting
类型:整数,默认值:0,自Xdebug >= 2.3引入。此设置是一个位掩码,类似于error_reporting。该位掩码将与由error_reporting表示的位掩码逻辑OR,用于确定应显示哪些错误。此设置只能在php.ini中进行,并允许您强制显示某些错误,而不管应用程序使用ini_set()做什么。
只需编写:
error_reporting(-1);
如果是在命令行中,您可以使用-ddisplay_errors=1
运行php
来覆盖php.ini
中的设置:
php -ddisplay_errors=1 script.php
./script
是一个 PHP CLI 脚本(hashbang #!/usr/bin/php
)。您可以通过这种方式将 PHP 错误重定向到文件中。这是 Unix 管道。这不是作为 CGI 的 PHP。 - NVRM报告所有错误,除了 E_NOTICE 错误。
error_reporting(E_ALL & ~E_NOTICE);
error_reporting(E_ALL); or ini_set('error_reporting', E_ALL);
error_reporting(0);
如果您使用的是SharedHosting计划(例如在hostgator上)...只需添加
php_flag display_errors 1
将 .htaccess 文件上传到远程文件夹可能不会产生在服务器上生成的实际警告/错误。
您还需要编辑 php.ini
这是通过cPanel执行此操作的方法(在hostgator共享托管计划上测试)
登录cPanel后,搜索 MultiPHP INI Editor 。 它通常位于软件部分下面的cPanel项目列表中。
在 MultiPHP INI Editor 页面上……您可以保持在 basic mode 标签上,并仅勾选显示错误的行上的按钮。 然后单击应用按钮保存。
重要提示:请记得在调试完成后关闭它,因为这不适用于公共服务器。由于不清楚您使用的操作系统,以下是我的两个建议。如果您正在使用XAMPP,您需要在C:\xampp\php
下手动创建logs
文件夹。这并非您的错,ApacheFriends忽略了这个步骤。
要阅读和遵循此文件,请执行以下步骤。
Get-Content c:\xampp\php\logs\php_error_log -Wait
要在VSCode中完成此操作,请在.vscode\tasks.json
中创建一个任务。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Monitor php errors",
"type": "shell",
"command": "Get-Content -Wait c:\\xampp\\php\\logs\\php_error_log",
"runOptions": {
"runOn": "folderOpen"
}
}
]
并在文件夹加载时运行它。
$_REQUEST
参数启用它们)的人来说,这两行代码大多数情况下都能够奏效。 - brandonscript