首页 >后端开发 >php教程 >为什么我的 PHP `ini_set('upload_max_filesize')` 没有按预期工作?

为什么我的 PHP `ini_set('upload_max_filesize')` 没有按预期工作?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-09 17:39:12985浏览

Why Doesn't My PHP `ini_set('upload_max_filesize')` Work as Expected?

对 PHP 中的 upload_max_filesize 修改进行故障排除

当遇到 upload_max_filesize 的预期值与观察到的值不一致时,调查潜在原因至关重要。下面是对该问题的仔细检查:

原始代码和行为:

<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", ", ini_get('post_max_size');
?>

执行后,尽管 php.ini 如此,此代码仍输出“2M, 8M”设置为:

upload_max_filesize = 10M
post_max_size = 10M

潜力原因:

  1. 简写符号
    在 PHP 中,配置值的简写符号的使用仅限于 PHP.ini 本身。尝试在 PHP.ini 之外使用此表示法设置值可能会导致意外行为,例如回退到默认值。
  2. 不支持的设置
    upload_max_filesize 据报道是 PHP_INI_PERDIR 设置,这意味着它不能使用 ini_set() 进行修改。 PHP 指令的官方列表证实了这一点。

解决方案:

  • 确保 PHP.ini 包含 upload_max_filesize 和 post_max_size 的正确值。
  • 在设置这些值时使用数值而不是速记符号PHP.ini。
  • 修改 PHP.ini 后重新启动 Web 服务器(例如 Apache)以确保更改生效。

完成这些更正后,代码应反映预期的行为并允许文件上传达到指定的限制。

以上是为什么我的 PHP `ini_set('upload_max_filesize')` 没有按预期工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn