2012-01-18 34 views
0

我在共享服務器上有一個站點主機,主機不會讓我更改php.ini文件。無法更改php.ini設置時上傳文件的替代方法

如果上傳時間超過60秒,那麼它會發生錯誤,因爲max_input_time設置爲60,無法以我能想到的方式進行更改。 upload_max_filesize也設置爲100,這也可能導致問題。

是否有其他方法可以解決此問題?

+0

哪種其他方法可以覆蓋每個目錄的ini設置? CGI設置可能嗎? – mario 2012-01-18 17:14:38

+0

你總是可以上傳到一個單獨的服務器.. – Znarkus 2012-01-18 17:15:26

+0

我已經嘗試了.htaccess文件,並且還將代碼添加到了php頁面本身以覆蓋 - ini_set(「max_input_time」,「1000000」);' – Tom 2012-01-18 17:18:57

回答

0

要清楚你的主機不允許你有你自己的本地php.ini文件,或者你的意思是他們不會改變它在服務器的主php.ini文件中?

如果您可以使用本地php.ini文件,那麼您可以覆蓋該指令。

+0

Where place will place a本地php.ini文件爲了測試這個? – Tom 2012-01-18 22:34:48

+0

把它放在腳本所在的目錄中。 – Jeff 2012-01-18 23:22:07

+0

我的主機告訴我,唯一的解決方法是升級我的主機,因爲PHP全部只運行主配置文件。 – Tom 2012-01-19 09:39:23

0

對於有經驗的用戶只需

通常可以設置一個自定義的PHP解釋器CGI處理程序。有許多警告,它很容易成爲一個安全問題。這樣做之前,對研究關鍵:

http://php.net/manual/en/security.cgi-bin.php

這樣的解釋應該preferrably沒有進入/cgi-bin/,或RewriteRule S,只通過一個Apache Action處理程序調用覆蓋。

但是,這允許爲該解釋器託管一個自定義php.ini。如果它不在同一個目錄中接受它,解釋器的shell封裝將會執行。 How to override PHP configuration when running in CGI mode

相關問題