когда я загружаю файл, он показывает
«не удалось открыть поток: отказано в разрешении»
я дал 777 разрешение на каталог назначения файла / TMP каталог также 777 Разрешение, которое я дал, даже если я назначил пользователя apache для / tmp и директории назначения, я не знаю, где настоящая проблема, я бегу Amazon Aws centos 7 с архитектурой PHP 5.4 у меня есть библиотека gd и все основные требуют расширения для загрузки изображения …
Скорее всего, на вашем сервере включен selinux. Улучшенная безопасность Linux обеспечивает повышенную защиту от атак, но требует дополнительных административных усилий.
Если за вашими атрибутами file / directory стоит точка, доступны расширенные атрибуты selinux:
[root@www tmp]# ls -ld
drwxrwxrwt. 14 root root 4096 May 4 08:45 .
^-- this dot means: there are more selinux attributes
Чтобы показать расширенные атрибуты, вы можете использовать -Z
параметр:
[root@www tmp]# ls -Zd
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 .
Конечно, вы можете просто отключить selinux, но я бы не советовал. Чтобы разрешить веб-серверу записывать в каталог, вы можете использовать chcon
команда:
chcon -R -t httpd_sys_content_rw_t /path/to/directory
Других решений пока нет …