fopen () ошибка отказа в разрешении на общую сетевую папку

Недавно я перешел на новый ПК со своей старой машины. Оба запускали мое приложение, используя установку WAMP. Я администратор обоих. Мое приложение должно читать и писать в общую сетевую папку. По какой-то причине я получаю сообщение об отказе в доступе только на новой машине.

Warning (2): fopen(\\Win7Pro\TSXWork\test.txt) [function.fopen]: failed to open stream: Permission denied

Общий сетевой диск предоставляет полный доступ для «Анонимный» и «Все». Я могу просматривать его в сети, добавлять и удалять файлы и т. д. с помощью проводника, но fopen() в моем приложении CakePHP не будет работать. С моими настройками безопасности в общей папке, почему мой новый компьютер не имеет разрешения?


person eSentrik    schedule 14.10.2011    source источник
comment
Попробуйте переместить файл в тот же каталог, что и ваш скрипт, и дайте мне знать, будет ли он работать.   -  person Jonas m    schedule 14.10.2011


Ответы (1)


Cake будет работать с разрешениями веб-сервера. Даже если в самой общей папке есть все: чтение, вам все равно необходимо предоставить права доступа учетной записи пользователя IIS к базовым каталогам, которые являются общими.

person Marc B    schedule 14.10.2011
comment
Я использую WAMP, а не IIS. Нужно ли мне еще предоставлять права? Если да, то каким пользователям? Администратору моего старого ПК также не предоставлены явные права. - person eSentrik; 14.10.2011
comment
Да, любая учетная запись пользователя, под которой работает ваш веб-сервер, должна иметь права как на сам общий ресурс, так и на базовую файловую систему. - person Marc B; 14.10.2011
comment
Если я могу изменять файлы вручную в проводнике Windows, то разве мой веб-сервер не должен этого делать? - person eSentrik; 14.10.2011
comment
Поэтому я просто заставил Apache работать под тем же именем пользователя, что и моя старая машина, вместо того, чтобы тратить больше времени на то, чтобы заставить его работать с новой учетной записью пользователя. [stackoverflow.com/questions/2683766/ - person eSentrik; 14.10.2011
comment
Другими словами, любая учетная запись, под которой работал Apache, не имела надлежащих разрешений... - person Marc B; 14.10.2011