问题一: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
- 需要重启应用才能使更改生效。
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
分类: 【Azure 应用服务】
标签: 安装PHP扩展, 安装Composer, PHP Laravel, App Service, 修改站点根路径启动程序