我试图在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_size
和memory_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');