Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在应用程序中的Azure和MySql下运行的Joomla configuration.php数据库设置_Php_Mysql_Joomla_Azure Mysql Database - Fatal编程技术网

在应用程序中的Azure和MySql下运行的Joomla configuration.php数据库设置

在应用程序中的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

我正在Azure下运行Joomla,使用数据库的MySQL应用程序内选项。一切都进行得很顺利,但我无法让JConfig中的数据库配置变量从MYSQLCONNSTR_localdb环境变量中动态提取

我尝试了这里发布的MS建议的解决方案,尝试了从环境变量中提取信息并将变量设置为结果的各种方法,但都没有成功。唯一有效的方法是对主机地址进行硬编码,即。。有问题

例如:

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');
  }