PHP + Apache2:我的类中没有显示错误,无法正常调试

时间:2017-05-03 15:42:09

标签: php apache debugging ubuntu

我目前正在使用 Apache 2.4.18 运行 Ubuntu 16.04 LTS 的计算机上进行开发。我使用谷歌浏览器版本58.0.3029.81(64位)作为浏览器。

当我在我的PHP脚本在localhost上运行中键入phpinfo();时,我明白了:

PHP Version 7.0.18-1 + deb.sury.org~xenial + 1
display_errors在上 error_reporting 32767

在"本地价值"和#34;主值"。

问题是我在PHP类中调试时看不到任何错误,无论我尝试什么。我已尝试在ini_set申请display_errors error_reporting index.php tail -f myproject.error.log,但它无论如何都无法正常工作,我一直在努力在查看源代码时我可以检查的没有输出的空白页

我曾尝试访问apache2日志文件提供了labeltext = matrix() ,但我只收到没有相关信息的旧错误。

我还尝试使用error_logging尝试记录PHP错误,但我想我没有为文件夹/日志本身设置正确的权限,因为该文件夹存在,但特定文件夹中没有文件。

我对这个问题感到疯狂,因为它使调试我的代码成为一个完整的噩梦,因为我是PHP开发的初学者,因为我尝试开发代码时无法看到我的错误是非常令人沮丧的

我按照本教程https://github.com/PatrickLouys/no-framework-tutorial/创建了我的PHP应用程序。我正在使用"Woops"库进行错误处理。

提前感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在测试了很多不同的东西后,我自己想出了一个解决方案。

我的Apache服务器已正确配置。我所要做的就是将以下几行添加到我的" Boostrap.php"的顶部。 file,我的index.php文件中包含的文件。

因此,Bootstrap.php文件的开头如下:

<?php declare(strict_types = 1);

namespace Myproject;
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/Includes/config.php';
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', "On");
ini_set('log_errors', "On");

基本上,如果您使用strict_types = 1,则必须将ini_set指令声明为字符串,并且Bootstrap文件(或您的自动加载器文件)必须包含错误报告/显示说明,而不是索引.PHP。