首頁 >後端開發 >php教程 >為什麼我不能在 PHP 中使用 `ini_set()` 來覆寫 `upload_max_filesize`?

為什麼我不能在 PHP 中使用 `ini_set()` 來覆寫 `upload_max_filesize`?

Barbara Streisand
Barbara Streisand原創
2024-12-03 02:26:10308瀏覽

Why Can't I Override `upload_max_filesize` with `ini_set()` in PHP?

PHP:覆蓋「upload_max_filesize」設定

您在PHP 5.3.0 中使用「ini_set()」設定「upload__filesize」時遇到問題'。這可能是由於對 PHP 配置設定及其範圍的誤解造成的。

簡寫符號限制

在 'php.ini' 檔案之外,您不能使用用於指定設定值的簡寫符號(「10M」)。此表示法僅在“php.ini”內有效。在您的情況下,「ini_set('upload_max_filesize', '10M')」將「10M」解釋為「10」(以兆位元組為單位),導致預設的 2MB 限制。

'upload_max_filesize' 設定

此外,'upload_max_filesize'在 PHP 配置設定清單中標記為「PHP_INI_PERDIR」。這意味著不能使用“ini_set()”覆蓋它。您必須直接在 'php.ini' 檔案中設定它或修改 .htaccess 檔案以覆蓋特定目錄的它。

重新啟動 Apache Server

修改後'php.ini' 文件,您需要重新啟動 Apache 伺服器以使變更生效。這是必要的,因為 PHP 配置設定會在伺服器啟動時編譯到 Apache 配置中。

結論

要正確修改'upload_max_filesize',請按照以下步驟操作:

  1. 設定'php.ini' 檔案或. htaccess 中的值檔。
  2. 重新啟動 Apache 伺服器。
  3. 使用 'ini_get()' 驗證新值。

以上是為什麼我不能在 PHP 中使用 `ini_set()` 來覆寫 `upload_max_filesize`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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