PHP post_max_size本地值被Plesk / IIS上的主值覆盖?
我在通过
PHP上传大文件时遇到了一个奇怪的问题(通过Drupal,虽然这不是问题).
基本上,我的文件上传由于达到了post_max_size限制而失败,即使local指令设置为96M,文件为25M. 我确保其他一切都是正确的,包括max_input_time,max_upload_filesize和IIS FastCGI空闲时间.所有这些都很大而不是问题. 我通过Plesk覆盖了post_max_size指令,我相信它会将更改存储在注册表值中.在域上运行phpinfo()会显示所有指令的正确本地值和主值… 96M local,12M master. 非常奇怪的是,当我将php.ini中的主post_max_size从12M更改为96M(并确保更改已生效)时,它正常工作!将主值更改回12M(并保持本地值为96M)会立即导致上载失败. 这是PHP中的错误,还是我做错了? 解决方法
事实证明,在Windows上,您只能设置每个目录标记为PHP_INI_USER的ini指令.不幸的是,upload_max_filesize和post_max_size都是PHP_INI_PERDIR.来自
http://php.net/manual/en/configuration.changes.php的PHP文档
因此,即使Plesk有一个更改这些指令的界面,即使phpinfo()选择它们,它们也无法改变实际的最大上传大小. Plesk不允许你在Windows上更改那些,而phpinfo()不应该报告更改,但你能做什么. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |