Roundcube, загрузка не удалась
У меня установлен 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 Предупреждение: ошибка загрузки файла - невозможно создать временный файл в Unknown в строке 0" при чтении заголовка ответа из апстрима, клиент: XXXX сервер: domain.com, запрос: "POST /mail/?_task=mail&_id=~~~from=compose&_action=upload HTTP/1.1", upstream: "fastcgi://unix:/tmp/php5-fpm.sock:", хост:" domain.com ", реферер:" https://domain.com/mail/?_task=mail&_action=compose&_id:~~~~
Поиск проблемы
Я установил для папки mail / temp значение 777, чтобы посмотреть, будет ли он записывать туда файл, и он это сделал, но Roundcube по-прежнему выдавал ошибку "Ошибка загрузки файла". Обычно этот каталог /mail/temp
имеет значение 755 и будет записывать файлы размером 0 КБ, в отличие от 777, на самом деле файл будет записан, но ошибка в циклическом кубе в любом случае не меняется.
Я также поиграл с правами доступа к корневому каталогу (указанному PHP) /tmp, чтобы убедиться, что 777 помогло бы (все упомянутые файлы доступны через nginx:nginx) ... нет радости, такая же ошибка выдается в Roundcube: "Ошибка загрузки файла". В качестве последнего средства я указал PHP на тот же / mail / temp, чтобы посмотреть, будет ли он писать, но он все-таки обнаружил ту же ошибку округлого куба "Ошибка загрузки файла".
Как я могу решить эту проблему загрузки?
2 ответа
Только что была такая же проблема. В конце концов я нашел пустое значение upload_tmp_dir в моей конфигурации php, поэтому попробуйте добавить что-то подобное в свою конфигурацию Apache или отредактируйте свой php.ini:
php_admin_value upload_tmp_dir /var/tmp
Также добавленоfilesystem_attachments
моему$config['plugins']
множество
Перезапустите обе службы
$ sudo service php-fpm restart
$ sudo service nginx restart