我有一个用于多个文件上传的php脚本。 我注意到当上传时间超过(大约)两分钟时,我收到以下错误:
500 - 内部服务器错误。您的资源存在问题 正在寻找,它无法显示。
一些信息:
PHP版本:5.4.23
系统:Windows NT SDADMIN32263436 6.1 build 7601(Windows Server 2008 R2 Standard Edition Service Pack 1)i586
任何提示?
谢谢
答案 0 :(得分:0)
默认情况下,PHP只允许上传几兆字节的文件。您可以尝试在php.ini文件中更改以下指令....
volatile
显然使用适合您的值。
但它根本无法与上传大小相关联。由于PHP是服务器端,因此500错误非常通用。您可以尝试查看PHP日志文件(可以通过server 2008在IIS上执行此操作)。
它也可以帮助您在应用程序中打开一些错误。对于开发,一种方法是将以下内容放在PHP脚本的顶部
memory_limit = 32M
upload_max_filesize = 24M
post_max_size = 32M
这意味着PHP将显示它在浏览器中遇到的任何错误。然而,在生产中这不是一个好主意,因为它可以提供有关您的服务器和托管的敏感信息。
答案 1 :(得分:0)
我指的是this question。此用户似乎遇到了与您相同的问题,在this answer中,他建议在配置文件中进行一些更改:
" max_execution_time"的整数强>
这将设置允许脚本在解析器终止之前运行的最长时间(以秒为单位)。这有助于防止编写不良的脚本占用服务器。默认设置为30.从命令行运行PHP时,默认设置为0.
最长执行时间不受系统调用,流操作等的影响。请参阅" set_time_limit()"功能更多细节。
[...]
" max_input_time" 整数
这将设置允许脚本解析输入数据的最长时间(以秒为单位),如POST,GET和文件上载。
[...]
另外here's some info on checking/setting CGI Timeout in IIS5 and 6。
我还建议您检查PHP错误日志,以便检索有关上载执行的更多信息。
最后在this question和this question中,他们还讨论了IIS配置,以便允许PHP进行更大的上传。