为什么编辑map php.ini没有效果


Why have editing mamps php.ini no effect

我试图在PHP .ini (PHP版本5.4.10的mamp 2.1.2)中提高upload_max_filesize值。服务器运行在端口80上。我在这里找到了几个答案,但没有一个真正适用。

当我使用phpinfo ()函数获得"加载的配置文件"时,我得到路径:/Applications/MAMP/bin/php/php5.4.10/conf/php.ini,但phpinfo ()所显示的配置与我的php.ini中的配置不匹配。

在我的php.ini中显示upload_max_filesize = 100M, phpinfo()告诉我2M.

在我编辑ini之后,我重新启动了服务器和我的机器。

为什么我不能改变upload_max_filesize?

Edite: 配置"Port"为"8888"后,配置文件加载正常。可能是与操作系统的Apache-Server冲突?!

这是因为每次服务启动时,MAMP和MAMP PRO都会用模板文件覆盖php.ini。因此,要更改php.ini,您需要更改模板。

在我在OS X上使用MAMP PRO的实例中,该模板位于:

/Applications/MAMP PRO/MAMP PRO.app/Contents/Resources/

在这个文件夹中,您将找到每个可用的PHP版本的几个PHP .ini版本。您需要为正在运行的PHP版本编辑.ini文件。在我的例子中,这是php5.5.10.ini。编辑完成后,重新启动您的MAMP,您的新设置应该会生效。

您还必须编辑:post_max_sizememory_limit

post_max_size 整数设置允许的最大post数据大小。此设置也影响文件上传。上传大文件时,该值必须大于 upload_max_filesize 。如果您的配置启用了内存限制脚本memory_limit也会影响文件上传。一般来说,Memory_limit应该大于post_max_size。当整数为使用时,以字节为单位。速记符号,如所述,也可以使用。如果帖子数据的大小较大与post_max_size相比,$_POST和$_FILES超全局变量为空。这可以通过各种方式进行跟踪,例如通过传递$_GET变量到处理数据的脚本,即,然后检查是否$_GET['processed']已设置。

尝试编辑/Applications/MAMP/bin/php/php5.4.10/conf/php.ini并重新启动服务器。

或者尝试以编程方式设置

ini_set('upload_max_filesize', '100M');