为什么MAMP不显示错误?

问题描述 投票:0回答:10

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

error_reporting  =  E_ALL
display_errors = On

仍然没有显示错误。我检查了所有文件夹并更改了所有 php.ini 文件,以防万一。没有什么。我修复了强制错误并转储

phpinfo()
,检查错误部分并显示错误已关闭。我勒个去。

我将

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

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

php error-handling mamp
10个回答
78
投票

MAMP 为服务器、客户端等设置了一些不同的

php.ini
文件。检查您的
phpinfo()
中实际读取的
php.ini
。看来您编辑错误了。


35
投票

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

20
投票

如果您使用的是 MAMP PRO,则必须在 UI 界面中启用错误处理 (PHP),在侧栏“语言”部分下的“PHP”选项卡中:检查要记录的内容和记录错误:筛选哪些内容应至少包含两个主要选项:“显示启动错误”和设置输出“至:显示”。

Display startup errors
选项相当于
display_startup_errors
(在 PHP 中),而
To: Display
相当于
display_errors

见下图:

MAMP PRO - Error handling


7
投票

更改

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

查找

display_errors = Off
并更改为
display_errors = On

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


3
投票

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


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
  • 加载的配置文件/库/应用程序 支持/appsolute/MAMP PRO/conf/php.ini

我最终更改了所有三个,将

error_reporting(E_ALL)
添加到某些页面,重新启动服务器(甚至重新启动机器),并且 仍然 无法让它显示任何错误消息。

我不知道从这里该去哪里。有什么想法吗?

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

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


2
投票

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

麦克:

Applications/MAMP/conf/'(php7.0.9)'/php.ini

Windows:

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

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


2
投票

对于较新版本的 MAMP,配置文件存储在

Appliations/MAMP/bin/php/[php version]/conf
中。

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

如果有人遇到困难,最简单的方法就是在应用程序的索引文件中

<?php echo phpinfo(); ?>
并查找加载的
php.ini
目录。


0
投票

还有一个模板保存在

php.ini
的MAMP中。 前往
File > Edit Template > PHP > Your Version


0
投票

在 MAMP 3.2.0 和 PHP 7 上,您需要定位

php.ini-production
并将值更改为
Production Value = On

© www.soinside.com 2019 - 2024. All rights reserved.