【问题标题】:php upload settings in a portable web application可移植 Web 应用程序中的 php 上传设置
【发布时间】:2010-11-16 17:33:04
【问题描述】:

我正在构建一个处理在线文件存储/访问的网络应用程序。在我的本地环境中,我使用 .htaccess 来设置

php_value upload_max_filesize 100M
php_value post_max_size 101M

在各种服务器上测试应用程序后,我发现并非所有设置都允许您使用 .htaccess 方法修改 ini 设置。我正在考虑的解决方案是在安装脚本期间检查该权限,并根据允许使用 .htaccess、用户目录 php.ini 或 ini_set(); 进行特定安装。

ini_set() 显然不适用于 post_max_upload。出于某种原因,即使我的 php.ini 有 user_ini.filename = ".user.ini" 它不会读取该文件中的 2 个指令。它也不会在名为 php.ini 的应用程序目录中读取相同的信息 并且上述 .htaccess 指令会导致 500 Sever Misconfiguration Error。 必须有一种方法可以即时更改post_max_upload 和upload_max_filesize。

问题是我不知道如何检查特定服务器上允许和不允许的内容。有人可以帮忙吗?

【问题讨论】:

  • 建议您尝试使用 ini_set() 来设置 php 'runtime' 设置。
  • 我无法让 ini_set() 始终工作。我知道它不适用于无法在脚本中设置的内容,因为它们已经设置好了......请参阅此评论:php.net/manual/en/function.ini-set.php#22264

标签: php apache web-applications upload


【解决方案1】:

您的最大执行时间可能会缩短上传过程..

这是我在管理区域中使用的 .htaccess -- 也许你可以试试这些设置。

不要全局使用这些设置,只为 .htaccess 设置它们,使您的上传或管理脚本与您网站的其余部分隔离,否则您可能会遇到执行时间如此长的问题。

php_value upload_max_filesize 30M
php_value post_max_size 30M
php_value max_execution_time 600
php_value max_input_time 200

如果您无法正常工作,可能是您的主机禁用了 .htaccess 和 ini 设置更改...

【讨论】:

    【解决方案2】:

    这里一个可能的问题是我试图将原始帖子中的 2 行添加到 php.ini 文件中他们自己。也许这对某些人来说是基本的,但显然你不能这样做?看来您需要将所有其余的 php.ini 设置重新声明为特定于目录的 php.ini,然后只需更改适用的行。

    不过,这似乎是一种时髦的做事方式,所以也许我错了……谁能更有把握地告诉我确实是这样,或者我错了?

    【讨论】:

      猜你喜欢
      • 2010-09-09
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      相关资源
      最近更新 更多