2010-03-11 151 views
0

我用php上傳文件很麻煩。 我自己的測試很成功,但我的同事告訴我他不能更新「更大」(大約5mb)的文件。PHP文件上傳

PHPINFO說: - 30 max_execution_time僅僅 - memory_limit的32 MB - 8的post_max_size MB - upload_max_filesize的10 MB

是它更好地使用FTP?問題是我無法在我的webhoster中更改這些設置。因爲你的max_execution_time設置爲30秒

+0

基於那些5MB左右的設置文件應該上傳就好了。 – 2010-03-11 20:30:20

+0

但是它不正確:(我的同事無法更新大於5Mb的文件,它花了很長時間瀏覽頁面,然後出現內部服務器錯誤 – 2010-03-11 20:37:06

回答

0

我要求的的max_execution_time和max_input_time設置的設置支持,這被設置爲120最大。因此,所有上傳花費的時間超過2分鐘,最終導致內部服務器錯誤。

-1

您可以使用函數ini_set來更改這些設置()

+0

不,你不能,只有在' PHP_INI_PERDIR'的基礎,請參閱:http://www.php.net/manual/en/ini.list.php – 2010-03-11 20:24:16

+0

我的Webhoster是strato.de,據我所知他沒有提供任何像php_ini設置每個文件夾。 – 2010-03-11 20:38:18

1

你的腳本將不會對生產工作。這意味着您只需30秒即可在您的服務器上上傳文件。如果您沒有T1互聯網連接,您將無法上傳文件。在你上傳腳本嘗試運行以下命令:

set_time_limit(0); 

這將禁用的max_execution_time定義,讓任何連接速度的用戶使用你的腳本上傳文件。在http://php.net/manual/en/function.set-time-limit.php

問候

更多信息。

+0

這是我正在考慮的一種可能性,但目前的測試結果是否定的。再次發生內部服務器錯誤。也許我需要使用FTP – 2010-03-11 21:17:25

1

爲什麼你沒有錯誤處理來識別爲什麼你的同事無法上傳文件?執行時間?這是內存限制嗎?這是最大的郵政大小?它是上傳大小嗎?

您是否檢查過上傳文件時會發生什麼?它在什麼時候失敗?

如果Web服務器的設置較小,那麼PHP post_max_size是無關緊要的 - 您檢查了嗎?

HTTP上傳可能無法正常工作的原因很多,但如果您的問題的答案是FTP,那麼您會問錯誤的問題。

C.

+0

如何處理這樣的錯誤?我的同事上傳5Mb或更多的文件然後它需要很長一段時間服務器沒有響應(由上傳引起,我猜),然後出現內部服務器錯誤 PHP post_max_size是無關緊要的,如果webse rver有一個更小的設置 - 你檢查過嗎? PHPInfo打印出來:8Mb – 2010-03-12 07:28:55

+0

你之前沒有說「它需要很長時間」。超過30秒? 如果你的網絡服務器的設置較低,PHP的post_max_size設置是無關緊要的 - phpinfo只報告PHP設置 - 不是web服務器設置 – symcbean 2010-03-12 10:36:53

+0

我已經將max_input_time和max_execution_time的設置更改爲無限制,但是當上傳時間超過2分鐘,內部服務器錯誤出現。我被問到webhoster的支持,看起來webser的設置較低,正如你所說的那樣。 – 2010-03-16 09:59:57