2013-02-05 4 views
0

У меня есть веб-сайт PHP с бэкэндом/CRON-заданием, которое работает так часто и обрабатывает фотографии. Серверы веб-страниц и баз данных и хранилище RAID - это коробки Fedora 14, а программное обеспечение для фотографий работает в Windows 7 VirtualBox на сервере хранения.Права доступа PHP к виртуальным папкам общего доступа Windows-guest

Массив хранения загружается как общая папка и отображается как E: \ under Network Locations.

ехес команда запускает PHP каждую минуту с помощью PHP-CLI выглядит следующим образом:

exec("C:\\service\\photo_edit.exe --input-file E:\\photos\\photo_example.jpg --effect crossprocess --output-file E:\\photos\\user\\finished_example.jpg") 

Запуск команды непосредственно в командной строке работает. Дело в том, что PHP, похоже, не может использовать E: \ вообще, хотя я могу получить к нему доступ через командную строку. Я также должен держать Windows в VirtualBox, потому что у меня есть больше сервисов, которые редактируют файлы и запускаются в Linux.

Мне нужен PHP, чтобы иметь возможность работать с этими файлами на веб-хранилище внутри Windows.

+0

«PHP не может использовать E: \ вообще» - Какую ошибку он дает? Не можете найти/нет разрешения/что-то еще? – Gray

+0

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

ответ

1

Это не вопрос разрешения. Сетевые ресурсы, сопоставленные с буквой диска, являются настройками для каждого пользователя. Пользователь Apache работает, так как не имеет этого ресурса, отображаемого как E:.

Альтернативы включают в себя:

  1. Используйте синтаксис UNC: \\vboxsvr\whatever
  2. Сопоставьте диск для текущего пользователя Apache - Does not seem possible
  3. Измените пользовательский сервис Apache работает как
(LOCAL_SYSTEM?)
+0

Вау, я не знал, что могу просто переключить его на синтаксис UNC. Кажется, сейчас работает! – user1721724

0

Имеет ли PHP разрешение на доступ E:\? Просто помните, что при запуске команды вы, вероятно, являетесь администратором. PHP, с другой стороны, скорее всего работает с более низкими привилегиями.

Смежные вопросы