Давайте посмотрим ваш режим доступа:
2775
^^^
||'- read/exec by everyone in different groups
|'-- read/write/exec by group only
'--- read/write/exec by user only
Этот последний флаг должен быть не менее 6 (чтение / запись другими группами).
Тем не менее, существуют угловые случаи, когда это абсолютно невозможно (chmod, unlink и т. Д. Все терпят неудачу).
Именно по этой причине крупные новые системы (например, WordPress и Joomla) предлагают вносить изменения в файлы (программно) через FTP.
Это делается путем предоставления DSN для отмены связи:
unlink('ftp://user:pass@host/absolute/path/to/file');
В некоторых случаях allow_url_fopen
можно отключить, и в этом случае вам придется stream_wrapper_register()
свой собственный класс FTP.
Я обнаружил, что FTP-функции PHP довольно проблематичны и, кажется, работают лучше всего, когда я использую CURL.