Я использую apache2.2.12 вместе с PHP 5.2.10. PHP настроен на запуск как отдельный процесс через fcgid. Проблема в том, что когда пользователи загружают файл, размер процесса apache увеличивается почти на такую же величину. Поэтому, если кто-то пытается загрузить файл размером 200 МБ, один из дочерних процессов увеличивается до текущего размера + 200 МБ. Если 2 пользователя одновременно начнут закачку, мой сервер выйдет из строя.
Сейчас увеличивается размер виртуальной памяти, но, поскольку я использую VPS на основе OpenVZ, это то, что имеет значение.
Мои вопросы:
Спасибо!
Абхая
-
Интересный вопрос, и, похоже, это ограничение php. См. Следующее:
Они оба в конце, кажется, говорят: «Используйте java или Perl» или что-то еще. Возможно, у кого-то из stackoverflow есть ответ. Для таких больших загрузок sftp может быть лучшим решением в зависимости от того, насколько это удобно для пользователя.
Если вы хотите использовать не PHP, JUpload выглядит как хороший вариант, поскольку он может разбить файл на части и выгружать каждый кусок на диск. Если это должен быть php, похоже, вы сможете развернуть что-то нестандартное с некоторым программированием сокетов в соответствии с это сообщение stackoverflow.
В любом случае, при таком размере вам, вероятно, понадобится что-то с возможностью возобновления и прогресса.