Я учу себя разработке веб-сайтов и учу себя php и html. Когда я изначально начал это, я разработал свой сайт на Apache, работающий на Windows XP. Как только я исправил большинство ошибок, я загрузил их на бесплатный серверный хостинг, и все было просто ужасно.
К сожалению, окна умерли (поврежденный файл в моей папке system32), и сейчас я работаю под управлением Linux Mint. Я только что установил apache2, php и mysql, чтобы я мог продолжить разработку своего сайта, но вот проблема:
Чтобы сэкономить время, у меня есть php, включающий мои html-файлы заголовка и нижнего колонтитула, используя оператор include следующим образом:
<?php include("./dir/file1.html");?>
Это сработало как для Windows, так и для бесплатного сервера (который, я считаю, работает под управлением версии Linux, но не цитируйте меня по этому поводу). Тем не менее, он больше не работает на моей машине. Это работает:
<?php include("./file2.html");?>
но я бы не хотел рефракционировать каждую имеющуюся у меня веб-страницу. Как я могу заставить мои операторы включения снова включать файлы в папки по относительным путям?
То, что я пробовал:
Я изменил include_path, чтобы он указывал на dir, но безрезультатно.
Я пробовал абсолютные пути, но это тоже не сработало.
Я перебрал apache.conf и php.ini в поисках всего, что могло бы помешать его чтению.
Дважды проверил права доступа к папке и файлу, чтобы убедиться, что он может быть прочитан.
Любой и все советы будут оценены, большое спасибо заранее.
UPDATE
использование require дает мне ошибку:
Веб-сайт обнаружил ошибку при получении http://localhost/. Возможно, он не работает из-за технического обслуживания или настроен неправильно.
Что не очень полезно.
Нет ошибок при использовании только оператора включения.
В моем include_path есть ".:".
Окончательное обновление
После долгих проб и ошибок я пришел к выводу, что проблема вовсе не в php или операторе include, а в том, что сервер apache по какой-то причине не разрешает доступ к подкаталогам. Этот вопрос сейчас спорный и должен быть закрыт.