Этот ниже вопрос связан с моим вопросом о переполнении стека.

Я получил следующее сообщение об ошибке при создании изображения в определенном каталоге:

imagejpeg(/var/www/html/assets/files/captcha/1465029891.5357.jpg): failed to open stream: Permission denied

Я хочу сделать каталог доступным для записи, и я использовал эту команду ниже, чтобы сделать каталог доступным для записи, но это никак не влияет.

chown -R apache:apache /var/www/html/assets/files/captcha
chmod 755 /var/www/html/assets/files/captcha

Ниже показано, когда я запускаю ps -aux|grep -i httpd:

root     30846  0.0  0.1 423604 17476 ?        Ss   15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30848  0.0  0.1 424024 12892 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30849  0.0  0.0 423736 10032 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30850  0.0  0.0 423912 11680 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30851  0.0  0.0 423736  9280 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30852  0.0  0.0 423736  9276 ?        S    15:43   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30854  0.0  0.0 423736  9268 ?        S    15:44   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30855  0.0  0.0 423736  9032 ?        S    15:44   0:00 /usr/sbin/httpd -DFOREGROUND
apache   30856  0.0  0.0 423736  9032 ?        S    15:44   0:00 /usr/sbin/httpd -DFOREGROUND
root     30860  0.0  0.0 112648   988 pts/1    S+   15:51   0:00 grep --color=auto -i httpd

Я проверил на сервере, и он запускается Apache, я изменил пользователя, группу и изменил разрешения, но все равно получаю ошибку выше. Какую часть я пропустил?

1 ответ1

0

Я нашел подсказку относительно моей проблемы, потому что я использую CentOS 7, есть некоторый вызов безопасности SE Linux (Security Enhance Linux), это скрытый межсетевой экран для Centos.

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

https://blog.lysender.com/2015/07/centos-7-selinux-php-apache-cannot-writeaccess-file-no-matter-what/

---- Обновить ----

sudo chown apache:apache -R /data /www /html /sites /mysite cd /data /www /html /sites /mysite

находить . -type f -exec chmod 0644 {} \;

находить . -тип d -exec chmod 0755 {} \;

sudo chcon -t httpd_sys_content_t /data /www /html /sites /mysite -R

sudo chcon -t httpd_sys_rw_content_t /data /www /html /sites /mysite /logs -R sudo chcon -t httpd_sys_rw_content_t /data /www /html /sites /mysite /uploads -R

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .