服务器超时可以通过代码来控制吗?

can server timeout be controlled by code?

提问人:Username_null 提问时间:5/24/2011 更新时间:5/24/2011 访问量:2565

问:

我使用教程创建了一个PHP脚本来将文件上传到服务器。它适用于 10mb <的图像和小文件,但超过该大小就会失败。我相信这可能是由于服务器超时造成的。问题是,如果我的假设是正确的,有没有办法告诉服务器等到文件上传?

当然,可能还有另一个我没有想到的问题,根据我拥有的脚本,大型上传不会产生错误,并且会显示“成功”文本!

任何有用的建议将不胜感激:)

php 文件上传 超时

评论


答:

1赞 Lawrence Cherone 5/24/2011 #1

确保您允许超过 10MB 的上传 http://php.net/manual/en/features.file-upload.errors.php

然后用 PHP

set_time_limit(0);

http://php.net/manual/en/function.set-time-limit.php

3赞 Adam Hopkinson 5/24/2011 #2

您可以使用以下方式设置超时set_time_limit($seconds)

如果设置为 0,服务器不会超时 - 但要非常小心地使用它!$seconds

评论

0赞 Username_null 5/24/2011
感谢您的快速回复,我将尝试并阅读上面的链接。
7赞 Olive 5/24/2011 #3

试试这个:http://php.net/manual/en/function.set-time-limit.php

评论

1赞 Username_null 5/24/2011
哇,太快了!谢谢,我会看链接
0赞 Olive 5/24/2011
希望对:)有所帮助否则,请随时询问!
0赞 Username_null 5/24/2011
事实证明,我的假设是错误的,我现在发现我的文件大小有问题
0赞 Olive 5/25/2011
您可以在 php.ini 中更改它 - 如果您可以访问它,那就是。
1赞 OZ_ 5/24/2011 #4

以下指令可能很有用:

  • upload_max_filesize
  • max_execution_time

此指令可以在 php 中更改.ini也可以通过函数 ini_set 进行更改。

2赞 NA. 5/24/2011 #5

在 PHP 中,有一个名为 set_time_limit() 的函数,您可以使用它来设置 PHP 由于运行时间过长而终止所需的时间。不过要小心,因为将其设置为 0 可能会让 php 处理永远等待并占用您的服务器资源。

您也可以在 php.ini 或 apache .htaccess 文件中设置此指令。

php 中也有max_input_time.ini

0赞 Bil 5/24/2011 #6

如果您使用 PHP 作为 Apache 模块并且之前的答案不起作用,您可以查看 Apache 超时,但不建议这样做。