В разрешении PHP move_uploaded_file отказано только на RHEL

мой PHP-скрипт использует для регистрации нового пользователя с его фотографией.

В Debian все было хорошо, но когда я установил на свой сервер RHEL, начались проблемы.

Директория / tmp / rights - 777, а «upload /» - 777 с chown apache: apache.

ниже приведен фрагмент журнала ошибок httpd:

[Ср, 07 июня, 15: 25: 29.363766 2017] [: ошибка] [pid 22867] [клиент 10.31.242.73:49624] Предупреждение PHP: move_uploaded_file (upload / 1268_org.jpg): не удалось открыть поток: В доступе отказано в /var/www/html/inc/classes/user.inc.php онлайн 76, референт: http://10.31.242.72/index2.php?mnu=10041

[7 июня, среда, 15: 25: 29.363808 2017] [: ошибка] [pid 22867] [клиент 10.31.242.73:49624] Предупреждение PHP: move_uploaded_file (): невозможно переместить '/ tmp / phpmY6k8j' в 'upload / 1268_org.jpg 'в /var/www/html/inc/classes/user.inc.php в строке 76, ссылка: http://10.31.242.72/index2.php?mnu=10041

Я не Понятия не имею, что с этим не так. Может, я что-то пропустил?

0
07.06.2017, 17:43
2 ответа

Я нашел решение на этом сайте Это была вина SELinux. Я только что добавил httpd_sys_rw_content_t в каталог загрузки, набрав: semanage fcontext -a httpd_sys_rw_content_t "/var/www/html/upload(/.*)?".

1
28.01.2020, 04:44

Вы chdir() выполняли перед перемещением файла? Если вы этого не сделали, файл будет перемещен в папку "upload/1268_org.jpg", но относительно /var/www/html/inc/classes, что приведет к перемещению в /var/www/html. /inc/classes/upload/1268_org.jpg и определенно не является вашим предполагаемым местоположением.

Решение: chdir перед перемещением или используйте абсолютный путь.

0
28.01.2020, 04:44

Теги

Похожие вопросы