【问题标题】:Apache / Symfony: different PHP settings for given routeApache / Symfony:给定路由的不同 PHP 设置
【发布时间】:2017-05-23 10:27:17
【问题描述】:

我有一个 Symfony 3 Web 应用程序在 Debian 服务器上运行,带有 Apache 2 和 PHP 7。

我正在寻找一种方法来为我的管理面板设置以下 PHP 设置的特定值,该面板由 Symfony 通过/admin 路由提供服务。

  • file_uploads
  • upload_max_filesize
  • max_file_uploads

知道如何执行此操作吗?感谢您的帮助。

【问题讨论】:

  • 您是否已经在这些路由的特定 Apache 配置中尝试过类似 php_value upload_max_filesize .. 的方法?
  • 我想尝试一下,但我不知道如何指定路由模式。我猜整个目录可能是<Directory />。我在您编辑之前看到了您的评论,它可能会起作用,因为我所有的管理控制器都在一个公共文件夹中,对吧?
  • 我认为 .user.ini 解决方案不起作用,因为在 Symfony 中,总是 /web/app.php 被调用(我认为这很重要,而不是哪个文件是包括)。我已经有一段时间没有使用 Apache,所以我无法帮助您进行配置。但是应该可以有Directory /admin 共享大多数配置(DocumentRoot 到 /web 等),唯一的区别是设置几个 PHP 值
  • 确实如此。但是Directory /admin 不起作用,因为它查看的是物理目录而不是 URL。因此我尝试使用LocationMatch "^/admin",但在这里我看到我不能在那里使用php_value。知道为什么吗?

标签: php apache symfony routes settings


【解决方案1】:

您可以使用 ini_set 更改 php 设置 ini_set reference

您可以在控制器中使用此功能。

【讨论】:

  • 这不会带来安全问题吗?我宁愿寻找需要通过 VirtualHost 或类似的东西配置 Apache/PHP 的解决方案。任何的想法?谢谢
  • 除非您将用户生成的数据传递给函数,否则我看不到任何安全问题。如果您对参数进行硬编码或清理用户生成的数据(例如允许参数的白名单),应该没问题。
  • 我只是喜欢将配置保留在应用层之外。但是感谢您的回答,这确实可行。
  • 使用参数并在你的config.yml中设置它们。
猜你喜欢
  • 2017-03-19
  • 1970-01-01
  • 2023-03-29
  • 2020-10-27
  • 2020-08-29
  • 1970-01-01
  • 2017-10-25
  • 2016-04-20
  • 2016-10-22
相关资源
最近更新 更多