在应用程序中的Azure和MySql下运行的Joomla configuration.php数据库设置
我正在Azure下运行Joomla,使用数据库的MySQL应用程序内选项。一切都进行得很顺利,但我无法让JConfig中的数据库配置变量从MYSQLCONNSTR_localdb环境变量中动态提取 我尝试了这里发布的MS建议的解决方案,尝试了从环境变量中提取信息并将变量设置为结果的各种方法,但都没有成功。唯一有效的方法是对主机地址进行硬编码,即。。有问题 例如:在应用程序中的Azure和MySql下运行的Joomla configuration.php数据库设置,php,mysql,joomla,azure-mysql-database,Php,Mysql,Joomla,Azure Mysql Database,我正在Azure下运行Joomla,使用数据库的MySQL应用程序内选项。一切都进行得很顺利,但我无法让JConfig中的数据库配置变量从MYSQLCONNSTR_localdb环境变量中动态提取 我尝试了这里发布的MS建议的解决方案,尝试了从环境变量中提取信息并将变量设置为结果的各种方法,但都没有成功。唯一有效的方法是对主机地址进行硬编码,即。。有问题 例如: class JConfig{ ... $hostVar=getenv(“MYSQLCONNSTR_localdb”); $hostA
class JConfig{
...
$hostVar=getenv(“MYSQLCONNSTR_localdb”);
$hostArray=array();
foreach(分解(“;”,$hostVar)为$substr)
{
$asplode=explode('=',$substr);
$hostArray[$asplode[0]]=$asplode[1];
}
public$host=$hostArray['datasource'];
...
到目前为止,硬编码地址的所有变体在前端都是“Error.”。我将赋值移到了JConfig类的构造函数中。 有了这个,我可以很好地把它固定下来
class JConfig {
public $smtpuser;
public $smtppass;
public $smtphost;
public $host;
public $user;
public $password;
public $db;
function __construct() {
$this->smtpuser = getenv('SMTP_USER');
$this->smtppass = getenv('SMTP_PASSWORD');
$this->smtphost = getenv('SMTP_HOST');
$this->host = getenv('JOOMLA_DB_HOST');
$this->user = getenv('JOOMLA_DB_USER');
$this->password = getenv('JOOMLA_DB_PASSWORD');
$this->db = getenv('JOOMLA_DB_NAME');
}