включать и требовать проблемы, когда я использую его с файлом из папки - PullRequest
0 голосов
/ 13 сентября 2009

Я обычно использую эту строку для импорта файла из текущей папки, и он отлично работает на моем локальном хост-сервере

require("../DataBase.class.php"); 

но когда я загружаю скрипт на свой сайт, я получаю это предупреждение

Внимание: включают в себя (../ DataBase.class.php) [function.include]: не удалось открыть поток: нет такого файла или каталога

Ответы [ 3 ]

3 голосов
/ 13 сентября 2009

Безопасный режим не любит "../". Поэтому вы всегда должны использовать что-то вроде

require_once realpath(dirname(__FILE__) . '/..') . '/file.php';
2 голосов
/ 13 сентября 2009

Вероятно, происходит то, что ваш параметр 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" );

?>
0 голосов
/ 13 сентября 2009

Вы ищете файл в родительском каталоге. Если вы хотите его в текущем каталоге, используйте:

require 'Database.class.php';

Возможно, на локальном веб-сервере у вас есть копия в родительском каталоге по какой-то причине, которой нет на вашем удаленном сервере.

...