Php:500 - 内部服务器错误

时间:2015-11-24 08:46:02

标签: php iis windows-server-2008-r2

我有一个用于多个文件上传的php脚本。 我注意到当上传时间超过(大约)两分钟时,我收到以下错误:

  

500 - 内部服务器错误。您的资源存在问题   正在寻找,它无法显示。

一些信息:

  

PHP版本:5.4.23

     

系统:Windows NT SDADMIN32263436 6.1 build 7601(Windows Server 2008   R2 Standard Edition Service Pack 1)i586

任何提示?

谢谢

2 个答案:

答案 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 questionthis question中,他们还讨论了IIS配置,以便允许PHP进行更大的上传。