问题一: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 -sS https://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
- 需要重启应用才能使更改生效。