簡體   English   中英

Azure Web App:如何增加 PHP ZCD69B4957F06CD818D7BF3D61980 部署過程的限制? 沒有任何效果

[英]Azure Web App: how to increase PHP memory limit for the deployment process? Nothing works

我們正在嘗試將 Laravel 應用程序部署到 Azure。

一切都很順利,直到作曲家開始。 在某些時候,它會分解說所有 memory 都已用盡 - 顯然,看起來 PHP memory 限制約為 2MB,這顯然太少了。

問題是我們無法以任何方式增加此限制 - 我們使用添加到存儲中的 ini 文件( 方法在此處此處描述),並且我們使用向 .htaccess(也在此處描述)添加指令,但這些都不起作用。

To make it even more strange when we navigate to the site and execute a small php file with echo <?php phpinfo();> in it it shows the PHP memory limit to be 128M - way less than what we set in the ini file ,但遠遠超過錯誤報告的內容。 這表明編寫器運行的環境與站點實際運行的環境不同。

是什么賦予了? 有人遇到過這個問題嗎?

remote: Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 255
remote: Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 32768 bytes) in /tmp/8d8df2faa270e0a/vendor/composer/autoload_static.php on line 1724

您注意到的不同之處在於 Azure 應用服務為 CLI 和 web 運行不同的配置設置。

為了增加 memory 您可以在您指定 PHP_INI_SCAN_DIR 的門戶中修改應用服務參數(如如何在 Z3A580F142203677F1F0BC30898F6 應用服務上添加 PHP.ini 中所述

另一種方法是修改您的 composer.json 文件,在該文件中您使用php -dmemory_limit=512M修改腳本,因此它將使用您在 art 命令中指定的 memory。

如果一切都失敗了,這是首選的方法,那就是在本地或 CI/CD 環境中構建和運行所有東西,並為整個應用程序創建一個 zip 文件。 使用 Azure CLI 將 zip 推送並部署到您的應用服務上。

原來我們的問題有兩個解決方案:

  • 應用程序顯然忽略了在 Azure 中的 /home 目錄中創建的附加.ini 文件(如此處所述)-> 只需在 Azure 門戶中重新啟動應用程序即可解決此問題(對於 ZEDC9F0A5A5D57797BF318E3 用戶來說,這不是直觀的)34797BF318E37
  • composer running out of memory -> this was solved by setting the environment variable COMPOSER_MEMORY_LIMIT for the app inside Azure Portal to -1 (this is accomplished by going to your app in Azure Portal, then "Configuration" and editing or adding this value in "應用程序設置”選項卡或使用az webapp config appsettings命令)。

暫無
暫無

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

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