У меня установлен Roundcube на Ubuntu 14.04 с использованием NGINX, со статическим IP, SpamAssassin, ClamAV. Отправка / получение электронной почты прошла нормально, включая загрузки, однако не могу ничего загрузить для отправки.
файл php.ini
memory_limit = 256M
max_execution_time = 60
;open_basedir =
log_errors = On
post_max_size = 100M
file_uploads = On
upload_tmp_dir = /tmp
upload_max_filesize = 100M
Права доступа к папке
/tmp
srw-rw---- 1 nginx nginx
/roundcube/temp
drwxrwxrwx 2 nginx nginx 4096 Feb 20 00:41 temp
В nginx.conf под http
директива, я установил
client_max_body_size 100m;
-note: вывод ниже Я удалил имена домена и каталогов.
FastCGI отправлено в stderr: «Сообщение PHP: Предупреждение PHP: ошибка загрузки файла - невозможно создать временный файл в Неизвестном в строке 0» при чтении заголовка ответа из восходящего потока, клиент: XXXX сервер: domain.com, запрос: «POST / mail /? _ task = mail & _id = ~~~ from = compose & _action = upload HTTP / 1.1 ", upstream:" fastcgi: // unix: /tmp/php5-fpm.sock: ", host:" domain.com ", referrer:"https://domain.com/mail/?_task=mail&_action=compose&_id:~~~~
Я установил для папки mail / temp значение 777, чтобы посмотреть, будет ли он записывать туда файл, и это произошло, но Roundcube по-прежнему выдавал ошибку «Ошибка загрузки файла». Обычно этот каталог /mail/temp
установлен на 755 и будет записывать файлы размером 0 КБ, а не 777, файл фактически будет записан, но ошибка в roundcube остается той же самой.
Я также поигрался с правами доступа к каталогу root (указывает PHP) / tmp, чтобы увидеть, что 777 поможет (все упомянутые файлы доступны через nginx: nginx) ... без радости, та же ошибка, выводимая Roundcube: "File Upload Failed". В крайнем случае, я указал PHP на тот же / mail / temp, чтобы посмотреть, будет ли он писать, но все равно - та же ошибка roundcube «Ошибка загрузки файла».
Как я могу решить эту проблему с загрузкой?
Перезапустите обе службы
$ sudo service php-fpm restart
$ sudo service nginx restart