Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Хао.
Помогите глупенькому понять, в чём проблема...
Вот есть формочка загрузки файлов. Самая обычная, без наворотов.
Если отправляется относительно небольшой файл - всё норм.
Если же отправляется относительно большой (не знаю где "граница", но тестирую на файлике в 352 Мб) - выдаёт
Undefined index: my_var in /export/hosts/my_site/documents/s/up.php
И я не могу понять, почему в одном случае
$my_var = $_POST["my_var"];
работает, а в другом говорит что этого параметра нет?
Грешил на права на запись - поставил chmod принудительный на папку, куда пишется. Не помогло.
Гршешил на параметры php, но в htaccess cтоит
То бишь всего должно хватать.
Но почему-то, при определённом размере файла оно начинает говорить, что вот этих параметров (которые из $_POST читаю) нет.
В самой формочке поле с размером файла стоит первым и там тоже более чем достаточно.
Помогите глупенькому понять, в чём проблема...
Вот есть формочка загрузки файлов. Самая обычная, без наворотов.
Если отправляется относительно небольшой файл - всё норм.
Если же отправляется относительно большой (не знаю где "граница", но тестирую на файлике в 352 Мб) - выдаёт
Undefined index: my_var in /export/hosts/my_site/documents/s/up.php
И я не могу понять, почему в одном случае
$my_var = $_POST["my_var"];
работает, а в другом говорит что этого параметра нет?
Грешил на права на запись - поставил chmod принудительный на папку, куда пишется. Не помогло.
Гршешил на параметры php, но в htaccess cтоит
php_value upload_max_filesize 600M
php_value post_max_size 625M
php_value memory_limit 650M
php_value max_execution_time 0
php_value max_input_time -1
То бишь всего должно хватать.
Но почему-то, при определённом размере файла оно начинает говорить, что вот этих параметров (которые из $_POST читаю) нет.
В самой формочке поле с размером файла стоит первым и там тоже более чем достаточно.
php_value post_max_size 625M
php_value memory_limit 650M
php_value max_execution_time 0
php_value max_input_time -1
А действуют ли эти правила?
Они вполне могут игнорироваться)
Об этом же и phpinfo() говорит - в локальном столбике стоит то, что я выставил через htaccess.
Файлик 352 Мб, если что, ~ 10 минут грузится. Судя по отображалке в хроме - спокойно догружается до 100%, а потом в iframe (куда оно грузится) выдаётся что не объявлены параметры, которые я через $_POST читаю. При этом на файлах меньшего размера оно нормально работает.
Ощущение, что POST-данные где-то теряются за время загрузки файла.(
Когда не очень большой - всё отлично работает.
(да, знаю что тут без isset'ов, это старая версия системы и раньше как-то проблем с этим не было, в новой всё уже с isset'ами и проверками кто и чего прислал).
Если нет параметров — видимо, запрос режется где-то после определённого лимита.
Надо смотреть phpinfo(). Может там какой-нибудь suhosin patch стоит ещё.
Ещё интересно, что отдаёт file_get_contents('php://input') при подобной попытке.
Единственное упоминание в phpinfo() - в разделе Additional .ini files parsed
/etc/php5/apache2/conf.d/suhosin.ini
Ещё интересно, что отдаёт file_get_contents('php://input') при подобной попытке.
Ну вот судя по всему всё доходит. И дальше оно начинает уже сам файл выдавать, судя по тому что даже гифка-анимация подвисла и хром стал набирать объём сжираемой памяти.
Пойду думать, что не так со скриптом, который в системе работает.
Спасибо за помощь.
И в целом - ну навесил я на тестовую форму POST-данных - всё грузится.
Но в том скрипте где оно работает непосредственно, то же самое ведёт себя так, как описал выше.
Сейчас ещё неделька пройдёт в жёстком напряге, а там числа 12 уже смогу нормально сесть да разобраться (а, ну да, две недельки).