Хорошо, поэтому на моем веб-сайте у меня есть папка с скриптами, которая включает в себя файл php, который подключается к серверу mysql, поэтому, если я переведу базу данных, то он изменит ее на все файлы, которые подключаются к базе данных.
У меня также есть другая папка, называемая шаблонами. В этой папке есть верхняя часть для заголовка и нижнего колонтитула. В шаблоне заголовка я написал:
require("../scripts/connect.php");
И у меня есть другая папка, называемая категории. И эта папка содержит заголовок, а заголовок включает соединение. Но затем он отображает и ошибки, что таких файлов нет.
Пожалуйста помоги. спасибо
Хорошей практикой является включение основной конфигурации во все запущенные php-файлы, обычно называемые config.php 🙂
в этом файле конфигурации создайте константу с именем SITE_ROOT или что-то подобное, указывающее на точные папки, подобные этому define("SITE_ROOT", "/var/www/mysite");
Затем на любом include, include_once, require, require_once используйте его следующим образом:
require(SITE_ROOT."/scripts/connect.php");
Это должно решить любую относительную драму пути
Вы не должны использовать относительные пути с include / require, но используйте константу, определяющую ROOT_PATH вашего сайта.
Пример: во всех требуемых файлах:
define(ROOT_PATH, '../'); include ROOT_PATH . '/scripts/connect.php';
И в /scripts/connect.php (и всех других файлах, которые будут включены где-то), все включенные должны использовать ROOT_PATH (без определения его).