我試圖爲我的應用程序重寫一些php.ini變量,因爲數組元素在通過AJAX調用將它們發佈到另一個PHP程序時被截斷。陣列中元素的數量可以是5000到10000之間的任何值,並且由主機施加的限制是1000.PHP.INI值在同一個應用程序中的不同文件之間變化
它讓我看到重寫「max_input_vars」和「post_max_size」是正確的方法這個問題。而且,我最初試圖在.htaccess文件中覆蓋這些值,但程序選擇繞過htaccess值。接下來,我創建了一個自定義php.ini文件,並將其放置在主機的根文件夾中,而不僅僅是應用程序文件夾中(如其技術支持人員所建議的那樣)。我可以在其中一個應用程序中看到覆蓋值,但是,當我進行內部AJAX調用時,會觀察到奇怪的結果!請參閱所附快照:
max_input_vars在前臺PHP程序可以看出具有值爲「9999999」(用ini_get()函數獲得)。但是,儘管如此,接收AJAX請求的程序會將max_input_vars恢復爲默認的服務器配置!
只是爲了說明,目錄結構如下:
/public_html
- php.ini
/application_root
- first_program.php
/sub-folder
- second_program.php
任何建議嗎?什麼導致第二個程序恢復覆蓋?這裏沒有代碼可以做到這一點......而且,任何嘗試從ini_set()設置max_input_vars的方法都會被程序忽略 - 至少在這個主機下面。我如何確保應用程序下的所有程序都對php.ini值表現出統一的行爲?
很多感謝您的幫助和投入!
第二個程序根點是否與第一個程序相同?你有沒有試過從index.php程序中設置值(ini_set)? –
@JA,好吧,他們都指向相同的根。實際上,第二個程序駐留在應用程序的子文件夾中,並且由於php.ini駐留在託管目錄的第一級,我希望php.ini值適用於此託管下的所有應用程序。關於在index.php中設置值,那麼,我已經嘗試過,但無濟於事。 –