Поскольку Apache (или веб-сервер, который вы используете) выполняет PHP с использованием другого пользователя Linux (обычно www-data
), который, очевидно, имеет другое разрешение, чем учетная запись пользователя, которую вы использовали при доступе через SSH.
Чтобы решить эту проблему, сначала вы должны знать, какая папка / файл, к которому вы идете chmod()
, принадлежит кому.Если он принадлежит root
, то не рекомендуется chmod
с помощью каких-либо сценариев, доступных публично из-за соображений безопасности.
Если он принадлежит вашему имени пользователя, скажем foo
, вы можетеизмените владельца папки / файла, к которому вы собираетесь chmod()
быть доступным для группы www-data
, используя chown()
в консоли SSH, тогда вы можете без проблем выполнить команду chmod()
.