JOOMLA configuration.php数据库设置在Azure和MySQL-IN应用程序下运行



我使用数据库的MySQL In-App选项在Azure下运行Joomla。一切都很好,但是我无法在JConfig中获得数据库配置变量,无法从MySQLConnstr_localdB环境变量中动态拉动。

我已经尝试了在此处发布的MS建议解决方案/,并尝试了从环境变量中提取信息并将变量设置为结果的各种方法,但一切都没有成功。似乎唯一起作用的是对主机地址进行硬编码。

一个例子可能就是这样:

class JConfig {
... 
$hostVar = getenv("MYSQLCONNSTR_localdb");
$hostArray = array();
foreach( explode( ';', $hostVar ) as $substr )
    {
    $asplode = explode('=', $substr);
    $hostArray[ $asplode[0] ] = $asplode[1];
    }
public $host = $hostArray['Data Source'];
...

到目前为止,来自硬编码地址的所有变化都是"错误"。在前端。

我将作业移至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');
  }

相关内容

  • 没有找到相关文章

最新更新