首頁 >後端開發 >php教程 >為什麼我的 PHP `ini_set('upload_max_filesize')` 沒有如預期般運作?

為什麼我的 PHP `ini_set('upload_max_filesize')` 沒有如預期般運作?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-09 17:39:12983瀏覽

Why Doesn't My PHP `ini_set('upload_max_filesize')` Work as Expected?

對PHP 中的upload_max_filesize 修改進行故障排除

當遇到upload_max_filesize 的預期值與觀察到潛在的值不一致時,調查到潛在的值不一致時,調查到潛在的預期值不一致原因至關重要。以下是對此問題的仔細檢查:

原始程式碼和行為:

<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", ", ini_get('post_max_size');
?>

執行後,儘管php.ini 如此,此程式碼仍輸出「2M , 8M」設定為:

upload_max_filesize = 10M
post_max_size = 10M

潛力原因:

  1. 簡寫符號
    在PHP 中,配置值的簡寫符號的使用僅限於PHP.ini 本身。嘗試在 PHP.ini 之外使用此表示法設定值可能會導致意外行為,例如回退到預設值。
  2. 不支援的設定
    upload_max_filesize 據報道是 PHP_INI_PERDIR 設定,這表示它不能使用 ini_set() 進行修改。 PHP 指令的官方清單證實了這一點。

解決方案:

  • 確保 PHP.ini 包含 upload_max_filesize 和 post_max_size 的正確值。
  • 在設定這些值時使用數值而不是速記符號PHP.ini。
  • 修改 PHP.ini 後重新啟動 Web 伺服器(例如 Apache)以確保變更生效。

完成這些修正後,程式碼應反映預期的行為並允許檔案上傳達到指定的限制。

以上是為什麼我的 PHP `ini_set('upload_max_filesize')` 沒有如預期般運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn