【Azure 應用服務】App Service For Linux 怎麼安裝Composer,怎麼安裝PHP擴充套件,怎麼來修改站點根路徑啟動程式?
阿新 • • 發佈:2021-10-21
問題一:App Service 的預設啟動路徑為wwwroot,如何修改到到PHP程式碼執行目錄呢? 如Laravel的啟動目錄為public/?那如何修改呢?
App Service 的預設 PHP 映像使用 Apache,不允許為應用自定義站點根路徑。 若要避開此限制,請將 .htaccess 檔案新增到儲存庫根路徑,幷包含以下內容:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} ^(.*) RewriteRule ^(.*)$ /public/$1 [NC,L,QSA]</IfModule>
更多描述可參考:【Azure 應用服務】App Service For Linux 部署PHP Laravel 專案,如何修改首頁路徑為 wwwroot\public\index.php
問題二:如何通過SSH安裝composer
進入到webapp的SSH介面輸入以下命令:
- 安裝composer:curl -sShttps://getcomposer.org/installer| php
- 全域性呼叫composer: mv composer.phar /usr/local/bin/composer
但是由於重啟 WebApp後,或由於PaaS服務的性質,Host服務的例項發生切換,這些配置就會丟失。所以需要把這2條命令儲存到 Web App 的啟動命令中,如下圖:
問題三:怎麼安裝PHP擴充套件?
在應用的根目錄中新增bin
目錄,並將.so
擴充套件檔案放入其中(例如 mongodb.so)。 確保擴充套件與 Azure 中的 PHP 版本相容,並且與 VC9 和非執行緒安全 (nts) 相容。
部署所做的更改有:
- 在
/home/site
中建立名為ini
的目錄,然後使用要自定義的指令在/home/site/ini
目錄中建立 .ini 檔案(例如 settings.ini) - 使用extension或zend_extension指令將擴充套件新增到自定義 .ini 檔案中。
extension=/home/site/wwwroot/bin/mongodb.so zend_extension=/home/site/wwwroot/bin/xdebug.so
- 需要重啟應用才能使更改生效。
啟用 PHP 擴充套件:https://docs.azure.cn/zh-cn/app-service/configure-language-php?pivots=platform-linux#enable-php-extensions
當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!