Разница между Windows и Unix-путями - PullRequest
0 голосов
/ 25 декабря 2011

Мой тестовый сервер - Windows. Живой сервер - Unix.

Я использовал относительные пути, которые, казалось, работали одинаково на обоих. Я перешел на абсолютные пути, и кажется, что они разные.

Моя проблема связана с загрузкой файлов из подкаталогов. На сервере Windows я использую realpath(), и это, кажется, дает мне «root» для поиска. Но unix относится к этому по-другому?

Каков обычный метод сопоставления абсолютных путей Unix с Windows?

Найдена проблема: Причина была require().

Похоже, что Windows допускает использование префикса "лишний" / ", поэтому

require '/ajax/test.php' действует в Windows, но не в Unix.

Ответы [ 3 ]

4 голосов
/ 25 декабря 2011

Я бы посоветовал, учитывая, что вы работаете в разных средах для live и dev, ограничивает загрузку папок и создает статическую карту между средами Windows и Linux.

Кроме того, на случай, если вы этого не видели, документация по PHP.net о realpath довольно четко описывает различия между Linux и Windows:

http://php.net/manual/en/function.realpath.php

0 голосов
/ 25 декабря 2011

Обнаружена проблема: причина была Требовать ().

Кажется, что Windows допускает избыточный префикс '/', поэтому

require '/ ajax / test.php'` принимается в windows, но unix возвращает ошибку.

0 голосов
/ 25 декабря 2011

Я бы предложил иметь определенные / статические переменные в конфигурационном файле, который загружается везде. Это легкий очень надежный подход ИМХО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...