我正在尝试以天蓝色设置我的项目。为此,我创建了一个应用程序服务,并在设置/配置下添加了一些“应用程序设置”,据我所知是环境变量。但是,我部署了docker镜像,该镜像可以使流水线变得蔚蓝,并且一切正常,但是当我通过ssh连接到实例并调用“ env”时,我看不到任何环境变量。
从文档中,我应该能够在php中像其他每个env变量(getenv ..)一样调用它们。也许我错过了一些事情,或者我对此应用程序设置的理解不正确。
如果有人对哪里出了问题有个好主意,那真是太棒了,如果您需要更多信息,请打我。
答案 0 :(得分:1)
部分地,您在访问设置/配置(设置为环境变量)的方式上没有犯错。 getenv()
是正确的。
当我通过ssh连接到实例并调用“ env”时,我看不到 我的任何环境变量
我认为此问题可能是由您的脚本引起的。当您访问这些设置键时,请不要丢失 Prefixed 。这是访问和获取这些环境变量的重要方法。例如,如果要访问app settings
,则相应的环境变量的名称应以APPSETTING_
开头。
这时,PHP脚本的示例脚本应为:
<?php
$appsetting = getenv('APPSETTING_{Key}'); echo $appsetting;
?>
注意:{key}
是您在Azure应用服务中配置的键名。
对于连接字符串下的配置,应添加其他前缀。如您所知,在创建这些连接字符串时,您需要选择类型:
对于这些设置,连接字符串可用作环境 变量,其前缀为以下连接类型:
SQL Server:SQLCONNSTR _
MySQL:MYSQLCONNSTR _
SQL数据库:SQLAZURECONNSTR _
自定义:CUSTOMCONNSTR _
有关更多详细信息,请查看以下文档:https://docs.microsoft.com/en-us/azure/app-service/configure-common#configure-connection-strings
答案 1 :(得分:0)
我找到了这篇文章,它解释了整个过程的原理。
但是,我坚持本文并使用提供的解决方法。如果有人知道更好的解决方案,请告诉我