Запуск PHP как FCGI! Я устанавливаю опцию upload_tmp_dir
как значение /home/domain.com/tmp
. При выполнении phpinfo()
для двойной проверки подтверждается правильность приведенных выше настроек.FCGI и upload_tmp_dir Директива PHP работает неправильно
Тем не менее, если фактическая загрузка в происходящем, то при загрузке файл временно собирается /tmp
каталога с разрешениями apache:apache
и когда загрузка полностью закончена только затем загруженный файл перемещается в каталог назначения, который был установлен в upload_tmp_dir
. После перемещения файла у него есть разрешений, которые являются domainowner:domainowner
.
Что происходит с FCGI
, как описано выше, является абсолютно неправильным и отличается от того, что делают mod_php
или CGI
! mod_php
и CGI
просто начните загружать файл напрямую в upload_tmp_dir
, а затем просто переименовать после завершения загрузки.
У меня есть несколько существенных проблем по этому поводу следующим образом:
Представьте себе, что произойдет, если 20 людей, отделка загрузить файл, который составляет около 2 Гб, прямо в то же время? Загруженные файлы должны быть перемещены в домашний каталог с /tmp
, создавая массу бесполезной загрузки файловой системы! Таким образом, я думал, что перемещение гораздо более находчиво, чем просто переименование файла в том же каталоге ?! Кроме того, /tmp
смонтирован как ext3
и домашний как ext4
, и что еще хуже, что раздел /tmp
занимает 16 ГБ пространства, что является полной катастрофой из того, что я себе представлял выше?
Вопрос:
Как заставить FCGI
использовать директиву upload_tmp_dir
таким же образом, как CGI
или mod_php
? Я не нашел документального способа изменить каталог temp, который он использует.
Пожалуйста, помогите !?
Ну, друг мой, спасибо, но нет! Я проверил эти настройки и играл с ними всеми возможными способами! И, как я уже сказал, 'CGI' и' mod_php' работают правильно! Таким образом, это не настройки 'suexec' и' basedir'. –
Тем не менее, протектора может быть полезно кому-то.Он описывает (как у вас) ситуацию, когда mod_php ведет себя так, как ожидалось, и fcgi по умолчанию соответствует системному temp dir. Он также документирует два возможных решения, один из которых касается безопасности/suexec и другой (который исправил проблему с плакатами) в качестве пользовательских разрешений. – PassKit
Еще раз спасибо, но, к сожалению, он не решает вопрос вообще, так как ни одна из рекомендаций, которые есть в этой ссылке, не является проблемой! –