У меня проблема с включаемым файлом, который обращается к другому включаемому файлу (мое соединение с БД)
У меня есть сайт со следующим макетом ::
root/conn.php :: db connection file
root/site/file1.php :: regular page
root/site/include/func.inc :: file with functions in it
Каждый файл указан в спискениже с соответствующим кодом ...
conn.php ::
<?php
$host = 'localhost';
$db = 'mydb';
$user = 'myuser';
$pass = 'mypass';
$charset = 'utf8mb4';
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
$conn = new mysqli($host, $user, $pass, $db);
$conn->set_charset($charset);
} catch (\mysqli_sql_exception $e) {
throw new \mysqli_sql_exception($e->getMessage(), $e->getCode());
}
unset($host, $db, $user, $pass, $charset);
?>
file1.php ::
include_once ("{$_SERVER['DOCUMENT_ROOT']}/conn.php");
include_once ("{$_SERVER['DOCUMENT_ROOT']}/site/include/func.inc");
{ code that calls functions in func.php }
func.inc::
include_once ("{$_SERVER['DOCUMENT_ROOT']}/conn.php");
{ various functions }
Когда я перехожу к /file1.php, я получаю следующую ошибку: *
PHP Notice: Undefined variable: conn in C:\inetpub\root\site\include\func.inc on line 231
PHP Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\inetpub\root\site\include\func.inc:231
мой файл func.inc не может найти коннФайл .php. Я также попытался удалить функцию включения из func.inc. В папке / include находятся другие файлы, которые могут обращаться к файлу conn.php с помощью той же функции include.