Тариф, загрузка больших файлов

Вопросы, которые нам задают перед заказом.

Модераторы: Art.i, vasya

Тариф, загрузка больших файлов

Сообщение higet » Ср мар 06, 2013 10:57 pm

3-4 сайта на joomla, ~ 200 посетителей в день. 1-2 раза в день есть необходимость принимать через http от пользователей файлы размером 200-600 мб. Я так понимаю через php это затруднительно сделать? Если брать разгон, то 1 файл может занять все ОЗУ. Наверное есть какое-то решение? ftp отпадает
higet
 
Сообщений: 8
Зарегистрирован: Ср мар 06, 2013 10:52 pm

Re: Тариф, загрузка больших файлов

Сообщение swg » Чт мар 07, 2013 10:25 am

Файл в ОЗУ не кладется, он складируется во временной директории, а потом move_uploaded_file
php.ini
php_value max_execution_time
php_value max_input_time
php_value upload_max_filesize
php_value post_max_size
Только разрешать такое лучше для поддомена, если вы все это увеличите глобально можете получить проблемы (например, сервер будет честно загружать аватарку для форума на 600 мегов и тратить трафик впустую)
swg
флудит форум
 
Сообщений: 2386
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Тариф, загрузка больших файлов

Сообщение higet » Чт мар 07, 2013 12:45 pm

memory_limit ?
он же должен быть больше чем post_max_size
higet
 
Сообщений: 8
Зарегистрирован: Ср мар 06, 2013 10:52 pm

Re: Тариф, загрузка больших файлов

Сообщение swg » Чт мар 07, 2013 1:49 pm

Читаем первое предложение "Файл в ОЗУ не кладется, ..." , включаем гугл, мануалы, мозг... Если переменная POST, GET она кладется в соответсвующий массив $_POST, $_GET и занимает память, а информация о файле записывается в $_FILES, где к нему указан путь, а не содержимое.
swg
флудит форум
 
Сообщений: 2386
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Тариф, загрузка больших файлов

Сообщение higet » Чт мар 07, 2013 1:55 pm

ок!
посоветуйте пожалуйста какие параметры задать. в цифрах
higet
 
Сообщений: 8
Зарегистрирован: Ср мар 06, 2013 10:52 pm

Re: Тариф, загрузка больших файлов

Сообщение swg » Чт мар 07, 2013 2:19 pm

max_execution_time 1800 (смотря что с файлом делать будете, проще в скрипте set_time_limit)
max_input_time 1800 (полчаса)
upload_max_filesize 1000М
post_max_size 1000М
и вот это всё должно быть только для одного поддомена, который такие большие файлы принимает,
т.е. пользователя послали грузить файл в IFrame, а сами продолжаем работать, если сайт 100% ajax.
Это если правильно всё делать.
swg
флудит форум
 
Сообщений: 2386
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Тариф, загрузка больших файлов

Сообщение higet » Чт мар 07, 2013 5:01 pm

спасибо!
higet
 
Сообщений: 8
Зарегистрирован: Ср мар 06, 2013 10:52 pm

Re: Тариф, загрузка больших файлов

Сообщение higet » Пт мар 08, 2013 11:30 am

а php.ini куда положить? в корень сайта и в htaccsess указать на него SetEnv PHPRC?
higet
 
Сообщений: 8
Зарегистрирован: Ср мар 06, 2013 10:52 pm

Re: Тариф, загрузка больших файлов

Сообщение swg » Пт мар 08, 2013 7:23 pm

У вас интернета нет что ли. В .htaccess
php_value upload_max_filesize 1000М
и т.д.
swg
флудит форум
 
Сообщений: 2386
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Тариф, загрузка больших файлов

Сообщение ls » Пт мар 08, 2013 8:17 pm

Через Настройки PHP в ISPmanager можно менять данные параметры и пропишется при этом в php.ini
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6405
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Тариф, загрузка больших файлов

Сообщение higet » Пт мар 08, 2013 8:22 pm

Да, спасибо. Но вот уважаемый swg не советует мне менять эти настройки глобально, а указать их для домена 3 уровня..
higet
 
Сообщений: 8
Зарегистрирован: Ср мар 06, 2013 10:52 pm

Re: Тариф, загрузка больших файлов

Сообщение higet » Пт мар 08, 2013 9:23 pm

не работает
isp мне говорит что должно быть memory_limit > post_max_size > upload_max_filesize и никак иначе, но даже при загрузке файлов "средних" размеров, все срывается где-то в процессе, видимо заканчивается доступная память
higet
 
Сообщений: 8
Зарегистрирован: Ср мар 06, 2013 10:52 pm

Re: Тариф, загрузка больших файлов

Сообщение swg » Пт мар 08, 2013 10:21 pm

isp мне говорит что должно быть memory_limit > post_max_size > upload_max_filesize и никак иначе
Он не прав. Разработчикам писал, проигнорировали.

Тестирую
Код: выделить все
php_value max_execution_time 500
php_value max_input_time 500
php_value upload_max_filesize 1000M
php_value post_max_size 1000M
php_value memory_limit 1M


проверяю через phpinfo();
memory_limit 1M

Код: выделить все
<form method="post" action="" enctype="multipart/form-data">
    <input type="file" name="f">
    <input type="submit">
</form>
<?php
    print_r($_FILES);


итог:

Array ( [f] => Array ( [name] => 2013-03-07-local-g.v6.sql [type] => application/octet-stream [tmp_name] => C:\Windows\Temp\php7876.tmp [error] => 0 [size] => 258253607 ) )

Всё работает.

Погуглил
Запомните следующее неравенство, которое всегда должно соблюдаться: "upload_max_filesize < post_max_size < memory_limit". Вот поэтому нельзя поставить размер файла больше оперативной памяти. Возможно, Вы спросите почему? Здесь всё очень просто: прежде чем файл появится на сервере, он целиком помещается в оперативную память.

Вот это тоже не правда. Разработчики php не глупые люди и прекрасно понимают, что оперативная память при загрузке файлов не нужна.
swg
флудит форум
 
Сообщений: 2386
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Тариф, загрузка больших файлов

Сообщение higet » Сб мар 16, 2013 6:53 pm

Суппорт объяснил в чем была проблема
конфиг nginx.
/usr/local/etc/nginx/nginx.conf
client_max_body_size 1000M
higet
 
Сообщений: 8
Зарегистрирован: Ср мар 06, 2013 10:52 pm


Вернуться в Предпродажные вопросы

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron