16:16

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Хао.

Помогите глупенькому понять, в чём проблема...

Вот есть формочка загрузки файлов. Самая обычная, без наворотов.

Если отправляется относительно небольшой файл - всё норм.
Если же отправляется относительно большой (не знаю где "граница", но тестирую на файлике в 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 читаю) нет.

В самой формочке поле с размером файла стоит первым и там тоже более чем достаточно.

Комментарии
28.06.2016 в 16:29

В /var/log/ что-то пишется?
28.06.2016 в 16:42

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Trotil, Увы, не могу сказать, у меня туда доступа нет.
28.06.2016 в 16:55

Крайне злопамятное хамло ;)
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

А действуют ли эти правила?
Они вполне могут игнорироваться)
28.06.2016 в 17:15

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Co0L, Ну, судя по тому что по дефолту там вообще 3 Мб, а файлы на 100-150 грузятся - всё работает.
Об этом же и phpinfo() говорит - в локальном столбике стоит то, что я выставил через htaccess.
28.06.2016 в 17:18

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Я вот не знаю, может ещё есть какой-то параметр, который влияет на это?
Файлик 352 Мб, если что, ~ 10 минут грузится. Судя по отображалке в хроме - спокойно догружается до 100%, а потом в iframe (куда оно грузится) выдаётся что не объявлены параметры, которые я через $_POST читаю. При этом на файлах меньшего размера оно нормально работает.

Ощущение, что POST-данные где-то теряются за время загрузки файла.(
28.06.2016 в 17:32

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Вот с этого начинается принимающий скрипт. Когда файл большой, ругается на последние три строчки, что не объявлены эти индексы.
Когда не очень большой - всё отлично работает.
(да, знаю что тут без isset'ов, это старая версия системы и раньше как-то проблем с этим не было, в новой всё уже с isset'ами и проверками кто и чего прислал).


<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

include "./tomail/mailer.php";

header ("Content-Type: text/html; charset=utf-8");

$login = $_POST["loginf"];
$zay = $_POST["zayfile"];
$prim = $_POST["primfile"];

28.06.2016 в 23:53

Sanctus Satanas
php_value memory_limit 650M — это лишнее, файл будет лежать на файловой системе, не в памяти.

Если нет параметров — видимо, запрос режется где-то после определённого лимита.
Надо смотреть phpinfo(). Может там какой-нибудь suhosin patch стоит ещё.

Ещё интересно, что отдаёт file_get_contents('php://input') при подобной попытке.
29.06.2016 в 01:11

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
--==SS==--, Может там какой-нибудь suhosin patch стоит ещё.

Единственное упоминание в phpinfo() - в разделе Additional .ini files parsed

/etc/php5/apache2/conf.d/suhosin.ini


Ещё интересно, что отдаёт file_get_contents('php://input') при подобной попытке.
 ------WebKitFormBoundaryObPLneifBMsRXRt8
Content-Disposition: form-data; name="MAX_FILE_SIZE"

471859200
------WebKitFormBoundaryObPLneifBMsRXRt8
Content-Disposition: form-data; name="zayfile"

247
------WebKitFormBoundaryObPLneifBMsRXRt8
Content-Disposition: form-data; name="loginf"

Ryuzaki_rnd
------WebKitFormBoundaryObPLneifBMsRXRt8
Content-Disposition: form-data; name="userfile"; filename="myfile.mp4"
Content-Type: video/mp4

ftypmp42jmp42isomfree��mdate��@�����$8 xd|ͮW��:�͸N,��L�5诳��͑����� ���p���qF0�ˍ:B�I��[&�9��}k���$�Y��aBD(|_S�40�4�<=�!�x���R�...


Ну вот судя по всему всё доходит. И дальше оно начинает уже сам файл выдавать, судя по тому что даже гифка-анимация подвисла и хром стал набирать объём сжираемой памяти.
29.06.2016 в 12:08

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Окай, элементарная самая простая форма спокойно себе скушала файлик и сохранила его.
Пойду думать, что не так со скриптом, который в системе работает.

Спасибо за помощь.
01.07.2016 в 01:27

Sanctus Satanas
Ryuzaki_rnd, чем в итоге закончилось? )
01.07.2016 в 01:38

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
--==SS==--, Пока не знаю. И времени нет, ибо сейчас просто по системе много работы именно с данными, загруз сильный.
И в целом - ну навесил я на тестовую форму POST-данных - всё грузится.

Но в том скрипте где оно работает непосредственно, то же самое ведёт себя так, как описал выше.
Сейчас ещё неделька пройдёт в жёстком напряге, а там числа 12 уже смогу нормально сесть да разобраться (а, ну да, две недельки).