У меня возникла проблема с массивом в php, который я использую для хранения данных конфигурации для разных сред. Идея заключается в том, что мне нужно только отключить файл с данными конфигурации при переходе от локального тестирования к его использованию на сервере. Файл выглядит следующим образом:PHP Включено предупреждение о массиве
<?php
$_ENV = array(
'MySQL' => array(
'database'=>'<DATABASENAME>',
'server'=>'<SERVERNAME>',
'username'=>'<USERNAME>',
'password'=>'<PASSWORD>'
)
);
?>
И я включаю это так:
include('../env.php');
Для подключения к базе данных я использую это так:
$conn = mysql_connect($_ENV['MySQL']['server'], $_ENV['MySQL']['username'],$_ENV['MySQL']['password']) or die("No connection possible: " . mysql_error());
Игнорируя тот факт, что Я все еще использую mysql вместо PDO или mysqli, что я скоро изменю, это должно сработать. Но это не так:
Notice: Undefined index: MySQL in D:\data\dev\applications\wtc-feedback\dashboard\include\SQLrequest.php on line 36
Самое странное в том, что, когда я сбросить переменные окружения на экран с var_dump() индексы и содержание все просто отлично.
Кто-нибудь знает, как это исправить?
Чтобы убедиться, что код на самом деле включен, вы должны сначала изменить '' include' к require'. Возможно, это же относится к загрузке из другого include/script во время одного и того же запроса? – jeroen
Вы пробовали переименовать массив? Вы никогда не должны вносить изменения в массив $ _ENV, и, возможно, это запрещено вашей версией php. – Blaatpraat
Код, который вы использовали, должен работать нормально. Ошибка должна быть где-то в другом месте. –