【问题标题】:Max size problem when trying to upload a file in Symfony尝试在 Symfony 中上传文件时出现最大大小问题
【发布时间】:2018-11-20 18:16:16
【问题描述】:

对于“文件太大。允许的最大大小为 2097152 字节”这一明显非常基本的问题,我无法解释。在 Symfony 上。

在我的 php.ini 中,我将“upload_max_filesize”设置为“512M”,将“post_max_size”设置为“1024M”。

在我尝试上传此文件的实体中,我设置了这样的“maxSize”断言属性:

/**
 * @ORM\Column(type="string", length=255)
 *
 * @Assert\File(
 *     maxSize = "1024M",
 *     mimeTypes = {"application/xml"}
 * )
 */
private $fileName;

当我删除实体中的“maxSize”属性时,消息仅更改为“文件太大。允许的最大大小为 2 MiB。”

我要上传的文件是 7,203Ko 当我上传低于 2Mo 的文件时,它工作得很好。

有什么想法吗?

【问题讨论】:

  • 您能否检查phpinfo(); 您的 php.ini 是否正常工作以及您的更改是否已在那里初始化?
  • 你去!它在我的 phpinfo 上设置为 2Mo。但是......为什么?!
  • 所以,我正在使用 WAMP。当我尝试通过 WAMP 菜单(图标 => PHP => php.ini 或图标 => PHP => PHP 配置 => upload_max_filesize / post_max_size)编辑 php.ini 文件时,它实际上编辑了位于 C:\ wamp64\bin\apache\apache2.4.27\bin\php.ini 但我的 phpinfo() 使用位于 C:\wamp64\bin\php\php7.1.9\php.ini 中的那个很奇怪。但无论如何,无论我改变一个或另一个,它都不起作用!每次我进行一些更改时,我都没有忘记重新启动 WAMP。

标签: php symfony upload max size


【解决方案1】:

我也遇到过同样的问题,我就是这样解决的:

运行 phpinfo() 以查找 php.ini 文件的位置。
(在我的案例中没有使用加载的配置文件)

Configuration File (php.ini) Path: /etc   
Loaded Configuration File:        (none)

转到 /etc 文件夹,您应该在其中找到 php.ini.default 文件。 复制 php.ini.default 并将其重命名为 php.ini 使用以下命令:(sudo 适用于 mac 用户)

sudo cp php.ini.default  php.ini 

用 vim(或任何编辑器)打开新创建的文件进行编辑。

vim php.ini

将此行更改为您需要的大小:

upload_max_filesize = 20M 

保存并退出。
重新启动你的服务器,它一定可以工作

【讨论】:

    【解决方案2】:

    知道了!

    实际上有 2 个 php.ini 被“使用”了。 当使用 WAMP 进程编辑 php.ini 文件时(点击图标 + php + php.ini 或点击图标 + PHP + PHP 配置 + 不管你想改变什么),它使用的是位于“C:\wamp64\bin\ apache\apache2.4.27\bin\php.ini"

    当我使用 phpinfo() 定位所使用的 php.ini 文件时,它会显示路径为“C:\wamp64\bin\php\php7.1.9\php.ini”的文件

    为什么不一样?不知道。

    我可以做任何我想做的改变,但从来没有考虑过,因为...我使用“symfony/web-server-bundle”库作为网络服务器,我每次都必须关闭服务器我更新了 php.ini 文件以使其正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 2011-04-02
      • 2013-05-07
      • 1970-01-01
      相关资源
      最近更新 更多