проблема с включением и требованием, когда я использую его с файлом из папки
Вопрос
Обычно я использую эту строку для импорта файла из текущей папки, и она отлично работает на моем локальном сервере
require("../DataBase.class.php");
но когда я загружаю скрипт на свой веб-сайт, я получаю это предупреждение
Предупреждение:включить (../DataBase.class.php) [функция.включить]:не удалось открыть поток:Такого файла или каталога нет
Решение
Безопасному режиму не нравится "../".Поэтому вы всегда должны использовать что-то вроде
require_once realpath(dirname(__FILE__) . '/..') . '/file.php';
Другие советы
Вероятно, происходит то, что ваш параметр include_path в php.ini отличается на вашем сервере от вашей локальной установки PHP / Apache.Наряду с этим, имейте в виду, что ../ указывает не на текущий каталог, в котором находится файл, а на родительский каталог текущего каталога, в котором вы находитесь.Что я бы посоветовал, так это узнать полный путь к корню вашего документа, а затем включить ваши файлы следующим образом:
<?php
$full_path = "/var/www/htdocs"; // this should be your website's full path
require( $full_path . "/DataBase.class.php" );
?>
Вы ищете файл в родительском каталоге.Если вы хотите, чтобы он был в текущем каталоге, используйте:
require 'Database.class.php';
Возможно, на вашем локальном веб-сервере у вас есть копия в вашем родительском каталоге по какой-то причине, которая не существует на вашем удаленном сервере.