Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > rmdir Permission denied


Автор: bars80080 28.6.2009, 15:54
удаляю папку
Цитата

Warning: rmdir(...) [function.rmdir]: Permission denied in ... on line 134

путь существует, папка пуста, права на неё 777 (винда)

может какая настройка в php.ini/httpd.conf мешает?

Автор: lukas 28.6.2009, 16:55
Цитата

Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт


Могут владельцы папки не совпадать.

Автор: bars80080 28.6.2009, 17:01
в php.ini везде safe_mode = Off

Автор: bars80080 29.6.2009, 11:07
вот вырезка из php.ini

Код

; Safe Mode
;
safe_mode = Off

; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
safe_mode_gid = Off

; When safe_mode is on, UID/GID checks are bypassed when
; including files from this directory and its subdirectories.
; (directory must also be in include_path or full path must
; be used when including)
safe_mode_include_dir =

; When safe_mode is on, only executables located in the safe_mode_exec_dir
; will be allowed to be executed via the exec family of functions.
safe_mode_exec_dir =

; Setting certain environment variables may be a potential security breach.
; This directive contains a comma-delimited list of prefixes.  In Safe Mode,
; the user may only alter environment variables whose names begin with the
; prefixes supplied here.  By default, users will only be able to set
; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
;
; Note:  If this directive is empty, PHP will let the user modify ANY
; environment variable!
safe_mode_allowed_env_vars = PHP_

; This directive contains a comma-delimited list of environment variables that
; the end user won't be able to change using putenv().  These variables will be
; protected even if safe_mode_allowed_env_vars is set to allow to change them.
safe_mode_protected_env_vars = LD_LIBRARY_PATH


однако, опять же 
Цитата

Warning: rmdir(D:/apache/privat1/xeim/image5/qwer/asdf/zxcv/) [function.rmdir]: Permission denied in D:\apache\privat1\docs\admin\filem\operation\operation.php on line 134

путь полностью существует, папка пуста, права на папку (в винде) указываются 777

никто не сталкивался с такой проблемой?

Автор: MoLeX 29.6.2009, 11:35
bars80080, у меня было такое но после рестарта сервера все встало в норму, а из-за чего так и не понял  smile

Автор: bars80080 29.6.2009, 11:48
нет, не помогает рестарт

Автор: MoLeX 29.6.2009, 11:51
bars80080, а если из под РНР создать тестовую папку в той же директори что и та а затем удалить? пройдет удаление или нет!
?

Автор: ksnk 29.6.2009, 11:56
bars80080, Это локальный сервер на локальной Винде?
Скорее всего какой-нибудь Total Commander в этот момент "открыт" на этом каталоге. Или какая программа чего-то сканирует... 
Можно просмотреть кто блокирует каталог при помощи http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx - довольно забавная, но немного тормозная замена стандартного Task Manager'a.

Кстати, действительно, при рестарте такая проблема вполне может залечится. smile

Автор: bars80080 29.6.2009, 12:09
Цитата(MoLeX @  29.6.2009,  11:51 Найти цитируемый пост)
а если из под РНР создать тестовую папку в той же директори что и та а затем удалить? пройдет удаление или нет!

да я так собственно и делаю. mkdir() создаю, а затем пытаюсь удалить


Цитата(ksnk @  29.6.2009,  11:56 Найти цитируемый пост)
Это локальный сервер на локальной Винде?

да, апач на моём компе под winXP HE


Цитата(ksnk @  29.6.2009,  11:56 Найти цитируемый пост)
Скорее всего какой-нибудь Total Commander в этот момент "открыт" на этом каталоге. Или какая программа чего-то сканирует... 
Можно просмотреть кто блокирует каталог при помощи Process Explorer - довольно забавная, но немного тормозная замена стандартного Task Manager'a

total commander не работает, и я не поклонник что-то запускать. арбайтен касперский и Spybot. но второй виноват быть не может, т.к. дома у меня стоит только аваст, и при этом наблюдается такая же проблема

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

все сидящие в данный момент процессы - прикреплены на картинке


пробовал ещё менять / в пути на \ и \\. то же самое

Автор: lukas 29.6.2009, 12:13
bars80080, а в ручную папка удаляется?

Какая версия PHP ?

Автор: bars80080 29.6.2009, 12:27
мдя, я редкостный дибилоид из страны искателей приключений



Цитата(ksnk @  29.6.2009,  11:56 Найти цитируемый пост)
Или какая программа чего-то сканирует... 

конечно открыт, я ж сам открыл рекурсивной функцией для проверки, а есть ли там чего, чтоб поудалять оттуда всё. а закрыть забыл. вот она и не удаляется

добавил closedir() и всё встало на места


спасибо всем

Автор: MoLeX 29.6.2009, 12:56
Цитата(bars80080 @  29.6.2009,  12:27 Найти цитируемый пост)
из страны искателей приключений

мы все от туда smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)