realpath () возвращает false для существующих файлов на сервере Mac OS X XAMPP - PullRequest
0 голосов
/ 19 марта 2012

По сути, у меня есть скрипт, который не может видеть существующий каталог на компьютере с OS X.Каталог был скопирован с внешнего жесткого диска на рабочий стол, который, я думаю, может быть ядром проблемы.

    $path = '/Users/username/Desktop/testfolder';
    $path = realpath($path);

Это выше не работает.

    $path = '/Users/username/Desktop';
    $path = realpath($path);

Это выше работает отлично.

Я расскажу вам немного о ситуации.Я использую Mac OS X Lion 10.7.Я установил XAMPP.Это киоск iMac, который должен взаимодействовать с iPad в той же сети, иначе я бы не стал запускать apache на OS X. iPad должен получать некоторые изображения с iMac, а PHP в основном работает как проксисделать это.Я создал бэкэнд, который позволяет администратору установить путь к изображениям, где происходит эта ошибка.

Итак, я не уверен, что происходит.Я предполагаю, что это связано с некоторым конфликтом прав и владельца этих файлов с внешнего жесткого диска.Я уверен, что мы могли бы сделать «chown» или «chmod» в терминале, но это не очень хорошее решение.Я люблю, чтобы PHP приспособил такой сценарий.Какие-нибудь мысли?Пожалуйста!?: -)

1 Ответ

0 голосов
/ 02 апреля 2012

Какая-то странная проблема, но хотя это работает:

$path = '/Users/username/Desktop';
$path = realpath($path);

Каталог «Рабочий стол» не имеет правильных разрешений. После того, как я изменил разрешения на рабочем столе, он позволил мне получить доступ к этому пути:

$path = '/Users/username/Desktop/testfolder';
$path = realpath($path);

В руководстве указано The running script must have executable permissions on all directories in the hierarchy, otherwise realpath() will return FALSE., что, похоже, является проблемой.

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