Я пытаюсь разместить службу Wordpress для службы приложений Azure lunix.
Я создал базу данных Azure для MySQL, затем получил строку подключения веб-приложения на экране строк подключения.
Формат строки подключения:
Database={your_database}; Data Source={data_source}; User Id= {user_id}; Password={your_password}
Затем я создал службу приложений на основе Linux и добавил строку подключения MySQL в ее конфигурацию.
Затем я использовал этот код в wp-config.php
, чтобы получить строку подключения к базе данных из переменной среды PHP MYSQLCONNSTR_bridgesConnection
<?php
$connectstr_dbhost = '';
$connectstr_dbname = '';
$connectstr_dbusername = '';
$connectstr_dbpassword = '';
foreach ($_SERVER as $key => $value) {
echo $key ;
if (strpos($key, "MYSQLCONNSTR_bridgesConnection") !== 0) {
continue;
}
$connectstr_dbhost = preg_replace("/^.*Data Source=(.+?);.*$/", "\\1", $value);
$connectstr_dbname = preg_replace("/^.*Database=(.+?);.*$/", "\\1", $value);
$connectstr_dbusername = preg_replace("/^.*User Id=(.+?);.*$/", "\\1", $value);
$connectstr_dbpassword = preg_replace("/^.*Password=(.+?)$/", "\\1", $value);
}
Этот код работает, если вы используете Windows App Service.Но если вы используете службу приложений Linux, вы получите это предупреждение, и WordPress не будет работать
Предупреждение: mysqli_real_connect (): (HY000 / 2002): такого файла или каталога в / wordpress / нетwp-includes / wp-db.php в строке 1452
Я создал страницу информации php, используя этот код
<?php
phpinfo();
?>
Я уверен, что переменная среды PHP загруженано мне нужен способ доступа к нему.
Как получить доступ к этой строке подключения в коде PHP?