簡體   English   中英

無法將 upload_max_filesize 更改為 Azure

[英]Unable to change upload_max_filesize to Azure

我有一個 Laravel Azure 網站。

我有一個.user.ini文件,其中有一些設置,例如

upload_max_filesize=120M
post_max_size=121M
output_buffering=Off
max_execution_time=3000
max_input_time=3000
memory_limit=140M

但是,奇怪的是,只有max_execution_timememory_limit changed 我也試過ini_set()但結果相同。

有解決方案嗎?

基本上我在設置 PHP_INI_SCAN_DIR 中添加了 .user.ini 文件夾路徑的值

由於 Azure 上的 PHP 應用程序實際上托管在 IIS 上,因此限制上傳文件大小不僅受 PHP 設置控制,還受 IIS 配置控制。

默認情況下,請求中內容的最大長度在 IIS 中設置為 30000000,大約為 28.6MB。 您可以參考https://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits#005了解更多詳情。

並且除了PHP的自定義配置之外,您還需要在您的根目錄下創建一個web.config ,其內容可以是以下示例:

<configuration>

    <appSettings/>
    <connectionStrings/>
    <system.web>
        <httpRuntime maxRequestLength="1073741824" />
    </system.web>
    <system.webServer>
    <security>
      <requestFiltering>
        <!-- maxAllowedContentLength is in bytes (B)  -->
        <requestLimits maxAllowedContentLength="1073741824"/>
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>
  1. 轉到 Azure 設置-> 配置

  2. 在“應用程序設置”下,單擊“新建應用程序設置”添加以下內容:

    名稱:PHP_INI_SCAN_DIR

    值:(任何路徑,例如 d:\\home\\site\\ini)

  3. 打開powershell,進入開發工具->高級工具,點擊“前往->”

  4. 打開您在 #2 上指定的路徑上的文件夾(例如“d:\\home\\site\\ini”)。 然后創建.user.ini文件

  5. 添加以下內容:

    upload_max_filesize = 64M

    post_max_size = 64M

  6. 重啟你的服務器

您可以使用以下方法檢查服務器上的值:

php -r "echo ini_get('upload_max_filesize');"

php -r "echo ini_get('post_max_size');"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM