每个程序员都会犯错误。我们毕竟是人类。
我们可能会忘记一个分号。或者使用错误的变量名。或者把错误的参数传给一个函数。
在PHP中我们有:
- 警告(Warnings
- 通知
- 错误
前两个是小错误,它们不会停止程序的执行。PHP会打印一条信息,仅此而已。
错误会终止程序的执行,并会打印一条信息告诉你原因。
有许多不同种类的错误,如解析错误,运行时致命错误,启动时致命错误,等等。
它们都是错误。
我说 "PHP会打印一条信息",但是......在哪里?
这取决于你的配置。
在开发模式下,常见的是将 PHP 错误直接记录在网页中,但也会记录在错误日志中。
你想尽可能早地看到这些错误,这样你就可以修复它们。
另一方面,在生产模式下,你不想在网页上显示它们,但你仍然想知道它们。
你要做的是,把它们记录到错误日志中。
这都是在PHP配置中决定的。
我们还没有谈到这一点,但在服务器配置中有一个文件决定了许多关于 PHP 如何运行的事情。
它叫做php.ini 。
这个文件的确切位置取决于你的设置。
要知道你的文件在哪里,最简单的方法是把这个文件添加到一个 PHP 文件中,然后在浏览器中运行它。
<?php
phpinfo();
?>
然后你会在 "加载的配置文件 "下看到这个位置:

在我的例子中,它是/Applications/MAMP/bin/php/php8.1.0/conf/php.ini 。
注意:由
phpinfo()生成的信息包含很多其他有用的信息,请记住这一点。
使用MAMP,你可以打开MAMP应用程序文件夹并打开bin/php ,进入你特定的PHP版本(在我的例子中是8.1.0)然后进入conf 。在那里你会发现php.ini 文件。
用一个编辑器打开该文件。
这里面包含了一个非常长的设置列表,每一个设置都有一个很好的内联文档。
我们对display_errors 特别感兴趣。
在生产中,你希望它的值是Off ,正如上面的文档所说。
php_error.log 在这种情况下,错误不会再出现在网站上,但你会在MAMP的logs 文件夹中看到它们。
这个文件将在一个不同的文件夹中,这取决于你的设置。
你在......你的php.ini 中设置这个位置。
错误日志将包含你的应用程序产生的所有错误信息。
你可以通过使用以下函数向错误日志中添加信息 error_log()函数。
error_log('test');
通常使用一个记录器服务来记录错误,如Monolog。