Добрый день, я в настоящее время работаю над проектом PHP, который требует, чтобы php-скрипт монтировал общий диск Windows. В настоящее время создается с использованием OSX с XAMPP.
exec('mount -t smbfs //user:[email protected]/Share /Volumes/Share 2> temp/error.txt');
Теперь я понимаю, почему это не работает. Это связано с разрешениями. Apache работает как пользовательский демон. Теперь я могу изменить пользователя, которого Apache работает, чтобы исправить эту "проблему", но, если это возможно, избегать любых изменений на сервере. Я хотел бы остановиться и посмотреть, есть ли лучший способ сделать это.
Есть идеи?
Хорошо, так что я получил работу. Мне просто нужен веб-сервер (пользовательский демон), чтобы создать папку, в которой установлен этот ресурс.
НАПРИМЕР. создала папку под названием "tempshare", которой владеет пользовательский демон, и находится в той же папке, что и php-скрипт (не беспокойтесь, он будет помещен из корня веб-сервера при завершении)
exec('mount -t smbfs //user:[email protected]/Share /path/to/tempshare 2> temp/error.txt');
Казалось, что он работает. Любые советы по безопасности с использованием этого метода?
smbclient
хотя это только для систем * nix, и, вероятно, было бы немного труднее добавить реализацию Windows ... опять же, кто запускает PHP на Windows-боксе ;-) Я протестировал его и получил Пример кода, если вы заинтересованы.