MAMP在哪里保留其php.ini?


92

我最近有一个Mac,根本不习惯在Mac上开发。

我有MAMP Pro 1.9.6.1。我做了一个定位,php.ini并得到了:

$ locate php.ini
/Applications/MAMP/conf/php5.2/php.ini
/Applications/MAMP/conf/php5.3/php.ini
/Library/Application Support/appsolute/MAMP PRO/conf/php.ini
/private/etc/php.ini.default

我更改了所有人的名字。重新启动MAMP。它加载顺利(我知道奇怪吗?)。我正在使用PHP版本5.2。

所有这些文件现在都是不同的名称(为消除过程一个接一个)。因此,我认为重新启动Mac。同样,即使所有php.ini文件都已移动,MAMP都不会加载任何问题。在Lamp上,这甚至不会加载。但是或者php.ini我缺少另一个文件(很有可能我不知道怎么做updatedb),MAMP确实很智能,只提取了所有文件(可能性较小),或者它不使用任何文件。


2
MAMP Pro使用动态生成的php.ini。您必须编辑模板。
弗洛伦特(Florent)2012年

里卡多·马丁斯应该是詹姆斯的正确答案……
乔纳森·索洛尔扎诺2015年

我正在使用MAMP 4(免费),而我的php.ini路径是/Applications/MAMP/bin/php/php7.1.1/conf/php.ini
Gavin

Answers:


130

注意:如果这没有帮助,请在下面查看Ricardo Martins的答案。


在其中创建一个PHP脚本<?php phpinfo() ?>,从浏览器中运行该脚本,然后查找value Loaded Configuration File。这告诉您php.iniPHP在Web服务器的上下文中正在使用哪个文件。


7
它从这里/ Library / Application Support / appsolute / MAMP PRO / conf / php.ini中拉出,但它希望在每次启动时都重新加载它
James Vince

4
或者甚至可以echo '<?php phpinfo() ?>'|php从终端运行。
phyatt 2015年

4
或者只是php -i(更易于阅读,比短echo '<?php phpinfo() ?>'|php)。注意:有时,控制台版本的php使用的php.ini文件不同,并且设置可能不同于CGI或Apache PHP。
drew010 '16

5
在本地主机上的Mamp面板上,您只需从菜单中单击php.info
Alex Borsody

1
需要重新启动服务器以应用php.ini更改。
Krzysztof Przygoda

75

我不确定MAMP(非PRO)是否相同,但是MAMP php.ini每次启动时都会覆盖修改的内容。

就我而言,我需要使用MAMP菜单来更改我的php.ini fileFile -> Edit Template -> PHP -> PHP 5.xx -> php.ini)。


MAMP(非Pro)v2.2似乎没有此选项(或“文件”菜单)
Taylor Edmiston 2015年

@tedmiston:如果看不到“文件”菜单,则可能已激活了“隐藏停靠符号”选项。如果禁用此选项,则可以再次看到文件菜单。
2015年

1
@tt_de我已经显示了停靠图标,但是即使在v3中,我的菜单栏也显示为:“ MAMP,编辑,服务器,工具,帮助”。您有可能在Linux机器上吗?也许他们在非OS X平台上将MAMP菜单项放在“文件”下。尽管如此,我在任何菜单中都没有“编辑模板”,但是我可以从文件系统中手动编辑文件。
泰勒·埃德米斯顿

@tedmiston:抱歉,我在OS X上!
2015年

@tt_de我也是。奇怪。
泰勒·埃德米斯顿

28

为了更清楚(当我阅读此线程但没有看到解决方案时,如果它在这里,也是如此!),我遇到了同样的问题并找到了原因:我修改了错误的php.ini!

是的,MAMP中有2个php.ini文件:

  1. 应用程序/MAMP/conf/php5.5.10/php.ini
  2. 应用程序/MAMP/bin/php/php5.5.10/conf/php.ini

正确的php.ini文件是第二个文件:Applications / MAMP / bin / php / php5.5.10 / conf / php.ini

为了证明这一点,请创建一个.php文件(随意命名,例如“ info.php”),然后在其中放入一个简单的phpinfo()

<?php
echo phpinfo();

在浏览器中打开它并搜索“已加载的配置文件”:我的是“ /Applications/MAMP/bin/php/php5.5.10/conf/php.ini”

错误在这里;我编辑了Applications / MAMP / conf / php5.5.10 / php.ini,但这是错误的文件!实际上,正确的php.ini文件是bin目录中的文件。

照顾好这个很小的差异,这实际上使我头痛了一个半小时!


确切的目录取决于您使用的PHP版本,但是是的,该路径(../MAMP/bin/php/phpX/conf/php.ini)是正确的。为了防万一,我还编辑了php.ini.temp文件。在两种情况下都设置display_errors = On。
Jason Engage

这是我需要的答案,因为我没有专业版。
畏惧

22

您必须编辑的文件位于MAMP Pro中,并在php.ini每次启动时使用该文件。

  • 启动MAMP PRO
  • 编辑 File > Edit Templates > PHP 5.3.2 php.ini
  • 重新启动MAMP Pro

您的更改应该坚持下去。


5

只需在您的终端上运行以下命令,它将向您显示您已加载的配置文件,这是我找到过的最简单的方法。

php --ini

3

我不知道您是否找到了答案,但是我不需要MAMP PRO来做到这一点。只需遵循他人所说的去正确的道路即可。就像...

MAMP-> bin-> php-> php(您的PHP版本)-> conf-> php.ini

此处的关键是您要编辑文件的位置。我在编辑ini文件的注释部分时犯了错误。实际上,您必须向下滚动到第472行,其中显示“ display_errors = Off,然后将其更改为On。希望这对任何人有帮助


2

如果您使用的是5.2版本的php,请更改/Applications/MAMP/conf/php5.2/php.ini。如果您使用的是5.3 php版本,请编辑/Applications/MAMP/conf/php5.3/php.ini。

如果您使用的是OSX Lion或OSX Mountain Lion,建议您使用apache和php的默认安装。

问候!


我认为MAMP比默认选项更好,因为它包含多个版本的PHP以及一些预编译的PHP加速器。苹果慷慨删除Web共享偏好在山狮:(还要注意的是PHP的MAMP 2.x的路径包括次要版本(例如MAMP/conf/php5.4.3)。
Stennie

2

运行MAMP服务器后,工具栏中将具有php info链接。单击后,您将获得有关php的所有信息。 在此处输入图片说明


1

对于在MAMP PRO(v.4.2.1)中当前加载的PHP版本,可能是访问PHP.ini的最快方法:

  1. 打开MAMP Pro
  2. 点击侧边栏“语言”部分下的“ PHP”
  3. 点击下拉菜单旁边的箭头按钮,您可以选择PHP的“默认版本”。

1

这取决于您的MAMP使用的PHP版本。您可以在以下位置找到它:/Applications/MAMP/conf/apache/httpd.conf寻找配置的php5_module

之后,就像之前所说的那样,您必须转到该bin文件夹。在那里您会找到一个conf带有php.ini内部文件夹。

例: /Applications/MAMP/bin/php/php5.4.10/conf

狮子座


1

在浏览完所有解决方案之后,查找已加载php.ini文件的最简单方法是进入phpinfo已加载的MAMP网页,该页面将向您显示已加载的php.ini文件。

这还将确认您更改的参数(例如max_file_size)是否已正确更新。


0

我只有MAMP的非专业版,但是仅仅因为它加载了它并不意味着已找到PHP文件/没有错误。

我重命名了php.ini文件,MAMP仍然启动,但是Apache返回了几个错误。

您正在尝试更改php.ini文件中的什么?


0

我已经检查了所有答案,并且当然使用了phpinfo()来检查php.ini的确切位置。我在Mac的菜单栏中看不到“文件”选项。我更改了该文件夹中的php.ini和php.ini.temp文件。没有面纱。

直到我意识到我忘了取消对已修改的always_populate_raw_post_data行的注释。


0

在运行MAMP的Mac上,我有几个可能是php.ini的位置,因此我在2个可疑文件中将memory_limit编辑为不同的值,以测试哪个影响了实际的MAMP PHP INFO页面详细信息。通过这样做,我能够确定这是正确的php.ini:/Applications/MAMP/bin/php/php7.2.10/conf/php.ini


0

我也为此感到挣扎。我的更改未反映在phpInfo中。直到我停止服务器然后再次重新启动它们,我的更改才真正生效。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.