51

好的,这变得非常令人沮丧。MAMP 用于显示错误,但随后停止。我决定重新安装它,因为我无法弄清楚。我检查我的 PHP 版本,运行 5.4.4 并转到该文件夹​​并将 php.ini 更改为:

error_reporting  =  E_ALL
display_errors = On

仍然没有显示错误。我浏览了所有文件夹并更改了所有 php.ini 文件,以防万一。没有。我修复了强制错误并转储phpinfo(),检查错误部分并且 display_errors 为关闭。我勒个去。

我再次放置error_reporting(E_ALL); ini_set('display_errors', 'on');在 PHP 文件的开头phpinfo()。本地值现在是 On,master 仍然是 Off。强制 PHP 错误,仍然得到 Server Error 而不是 PHP 错误。

有人有任何见识吗?我在某些代码的某个地方有一个错误并且找不到它,希望 PHP 能告诉我。

4

10 回答 10

75

MAMP 为服务器、客户端等设置了一些不同php.ini的文件。检查您phpinfo()实际php.ini读取的文件。看起来你编辑错了。

于 2013-01-29T11:38:22.140 回答
33

MAMP 上有两个php.ini文件。您应该更改这两个php.ini文件。

  1. Applications/MAMP/bin/php/'php version you are using(php5.5.10)'/conf/php.ini
  2. Applications/MAMP/conf/php/'php version you are using(php5.5.10)'/conf/php.ini

然后改变:

display_errors = Off 

到:

display_errors = On
于 2014-07-16T14:58:56.163 回答
17

如果您使用的是 MAMP PRO,则必须在 UI 界面中启用错误处理 (PHP),该界面应包含至少两个主要选项:“显示启动错误”和设置输出“至:显示”。

Display startup errors选项等效于display_startup_errors(在 PHP 中)To: Displaydisplay_errors.

见下文:

MAMP PRO - 错误处理

于 2013-11-13T10:29:56.453 回答
7

更改php.ini文件中的设置。该文件位于MAMP > conf > php5 > php.ini

查找display_errors = Off并更改为display_errors = On

之后,您需要重新启动 Apache 和 MySQL 服务器以使更改生效。

于 2013-07-07T22:00:51.253 回答
3

MAMP PRO 用户可以访问 UI 中的 PHP 选项卡并确保 Log Errors: to screen 被选中:screencast

于 2015-07-28T18:45:24.920 回答
3

这是此问题的 2018 年更新。首先,我遇到了同样的麻烦并找到了这个线程。我使用 phpinfo() 并找到了 php.ini 文件的另一个位置。以下是路径(我在 Mac 上工作):

/Applications/MAMP/bin/php/[php version]/conf/php.ini

/Applications/MAMP/conf/php/[php version]/php.ini

和 ...

/Library/Application Support/appsolute/MAMP PRO/conf/php.ini

phpinfo() 页面列出了 php.ini 的两个来源:

  • 配置文件 (php.ini) 路径
    /Applications/MAMP/bin/php/[php 版本]/conf
  • 加载的配置文件 /Library/Application Support/appsolute/MAMP PRO/conf/php.ini

我最终更改了所有三个,添加error_reporting(E_ALL)到一些页面,重新启动服务器(甚至重新启动机器),但仍然无法让它显示任何错误消息。

我不知道从这里去哪里。有任何想法吗?

**** ---------------------------------------------- **** 2020 年编辑 **** ---------------------------------------------------- ------ **** 最新的 MAMP 升级 (v6) 更改了主 Web 主机目录。它不在 Applications/MAMP/ 目录中。这是好事。但这要求我改变我所有项目所在的位置。我不得不重新配置我的 IDE、Postman、Git 和其他一些东西。所以,我认为这将是迁移到 Docker 容器的最佳时机。

Docker 带来了全新的挑战,但是一旦我熟悉了它并部署了一些容器,它就很棒了。在浏览器中渲染时感觉更快,而且我更有信心我的项目将在生产服务器上按预期运行。最终我们的生产服务器将使用容器,所以这对我来说很有意义。

于 2018-09-21T18:31:46.160 回答
2

如果您使用的是 MAMP 3.2.2 版,那么您只需要更改一个 php.ini 文件:

苹果电脑:Applications/MAMP/conf/'(php7.0.9)'/php.ini

视窗:C:\MAMP\conf\PHP Version you use'(php7.0.9)'\php.ini

我知道这是一篇旧帖子,但 MAMP 一直在更改他们的文件配置,所以我希望这会有所帮助。

于 2016-11-10T21:15:10.867 回答
2

对于较新版本的 MAMP,配置文件存储在Appliations/MAMP/bin/php/[php version]/conf.

Andrew Nagy 的回答为我指明了正确的方向,但对于我安装的 MAMP 来说并不完全正确。为什么它们不同,我不知道,但我们来了。

如果有人卡住了,最简单的方法就是<?php echo phpinfo(); ?>在应用程序的索引文件中查找加载的php.ini目录。

于 2016-11-23T09:43:29.320 回答
0

还有一个模板保存在php.ini. 去File > Edit Template > PHP > Your Version

于 2013-09-29T14:57:08.327 回答
0

在 MAMP 3.2.0 和 PHP 7 上,您需要定位php.ini-production并将值更改为Production Value = On

于 2016-02-20T15:01:12.903 回答