требовать один раз не работать на живом сервере


У меня есть ситуация, когда строка php работает нормально на localhost, но не на реальном сервере, даже если у меня есть та же структура файлов и папок.

require_once '/../Renderer.php';

Ошибка, которую я получаю на реальном сервере:

Предупреждение: require_once(/../Визуализация.php): не удалось открыть поток: нет такой файл или каталог в /home2/attafsir/public_html/balaghatoalquran/production/wp-content/themes/twentyten/Text/Diff/Renderer/unified.РНР в строке 19

Фатальная ошибка: require_once(): Не открывать - /../Визуализация.на PHP' (в include_path='.: / usr / php / 54 / usr / lib64:/usr/php/54/usr/share / pear') в /home2/attafsir/public_html/balaghatoalquran/production/wp-content/themes/twentyten/Text/Diff/Renderer/unified.РНР в строке 19

Я потратил много времени, пытаясь выяснить, какие могут быть причины такого поведения, но безрезультатно, ваша помощь ценится.

PS: Я проверил с моим хостом, установлена ли PEAR и настроена ли она на php.ини, и они подтверждают это мне. (поскольку код использует пакет PEAR)

Решение: Решение-это принятый ответ, но я хочу заметить, что проблема на живом сервере решена, но нарушена функция на localhost. Это временное решение, так как лучше всего иметь один и тот же код на локальном и реальном сервере. Я вернусь, чтобы опубликовать полное решение, когда найду его. ваше предложение всегда приветствуется.

4 2

4 ответа:

/ является корнем файловой системы, а затем вы пытаетесь подняться на один уровень с ... Этого не существует, поэтому вы получаете ошибку.

Вы уверены, что вам не нужен относительный путь?

Если вы хотите, чтобы он был относительно корня веб-сервера (который не является корнем файловой системы, если нет чего-то очень неправильного), используйте что-то вроде:

$_SERVER['DOCUMENT_ROOT'] . '/../Renderer.php'

Попробуйте просто:

require_once '../Renderer.php';

Вы не можете использовать '/../Визуализация.на PHP'. Это либо то, либо другое../ 'который ссылается на одну папку вверх или' / ' который ссылается на корневой каталог.

Удалите первую косую черту и попробуйте либо:

require_once '../Renderer.php';

Или

require_once '../../Renderer.php';

Какой из них работает, зависит от вашей файловой структуры.