У меня следующая структура каталогов:
- test
- скрипты
- testSubDirectory
- otherSubDirectory
- include1. php
- include2. php
- includeTest. php
Вот код для каждого файла: testClasses. php:
<?php
echo __FILE__."<br/>";
include1. php:
<?php
include_once("include2.php");
include_once $_SERVER['DOCUMENT_ROOT'] . "/test/scripts/testClasses.php";
incude2. php:
<?php
include_once("/test/scripts/testClasses.php");
includeTest. php :
<?php
include_once($_SERVER['DOCUMENT_ROOT'] . "/TEST/scripts/testClasses.php");
include_once("include1.php");
var_dump(get_included_files());
var_dump(get_include_path());
var_dump(__FILE__);
echo "PHP Version: ".phpversion().PHP_EOL;
При работе PHP 5.4.3 Я вижу следующий вывод: PHP 5.4.3 вывод
При работе PHP 7.4. 8 Я вижу следующий вывод: PHP 7.4.8 вывод
Оба сервера работают на Windows машинах.
Файл testClass. php включен дважды в версию PHP 7.4.8 из-за того, что в обоих случаях регистр include отличается, даже если это один и тот же файл в одном каталоге. Если в testClass. php есть объявления классов, будет выдана ошибка. Есть ли способ обойти это, чтобы мне не пришлось менять регистр в моих операторах include во всем коде?