[英]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_time
和memory_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>
轉到 Azure 設置-> 配置
在“應用程序設置”下,單擊“新建應用程序設置”添加以下內容:
名稱:PHP_INI_SCAN_DIR
值:(任何路徑,例如 d:\\home\\site\\ini)
打開powershell,進入開發工具->高級工具,點擊“前往->”
打開您在 #2 上指定的路徑上的文件夾(例如“d:\\home\\site\\ini”)。 然后創建.user.ini
文件
添加以下內容:
upload_max_filesize = 64M
post_max_size = 64M
重啟你的服務器
您可以使用以下方法檢查服務器上的值:
php -r "echo ini_get('upload_max_filesize');"
php -r "echo ini_get('post_max_size');"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.