|
|
17.08.2011, 09:55
|
|
Максим
Зарегистрирован: 2011-08-17
Сообщений: 6
|
Здравствуйте, уважаемые!
система 4.2 стандарт
пхп 5.с
В файле ".htaccess" есть строчки:
php_value upload_max_filesize 32000000
php_value post_max_size 32000000
В файле "php.ini" есть строчки:
upload_max_filesize = 32M
post_max_size = 32M
При загрузке на сайт файла размером более 4Мб всё происходит обычно и никаких ошибок не выдаёт.
В папке "netcat_files" в подпапках соответствующих разделов и компонентов появляются файлы вида "b25742570df79972090451cbe3a13dec", на которые на нужных страницах появляются ссылки типа
"http://192.168.1.1/netcat_files/22/8/h_b25742570df79972090451cbe3a13dec"
При этом, если размер файла не превышает 4Мб, то он скачивается по этой ссылке нормально, но если размер файла превышает 4Мб, то загрузка файла прерывается и он скачивается размером 0 байт.
А если в ссылке убрать "h_", то есть сделать так:
"http://192.168.1.1/netcat_files/22/8/25742570df79972090451cbe3a13dec"
, то скачивается "запакованный" файл вида "b25742570df79972090451cbe3a13dec", который хранится в папке "netcat_files" в подпапках соответствующих разделов и компонентов.
Такое ощущение, что проблема где-то в системе netcat. Либо при "распаковке" файла не хватает какой-то памяти, либо стоит какое-то ограничение.
Не буду описывать, на сколько важно решить этот вопрос срочно, и сколько дней я уже бьюсь с этой проблемой, просто прошу, если кто знает, где нужно что поправить, то подскажите, пожалуйста.
|
|
|
17.08.2011, 16:38
|
|
Asiat
Аниматика

Зарегистрирован: 2005-12-12
Сообщений: 576
|
А проверьте-ка еще memory_limit - объем памяти для работы скрипта. Вообще не должен стоять так мало 4 Mb, но симптомы похожи.
|
|
|
17.08.2011, 16:48
|
|
Максим
Зарегистрирован: 2011-08-17
Сообщений: 6
|
В файле php.ini было memory_limit = 24M
Для верности только что поставил 48M - не помогает.
При попытке скачать закачанный ранее файл размером 20 995 072 байт, сохраняет не пустой файл нулевой длинны, а в файле сохраняет текст:
Код:<br />
<b>Fatal error</b>: Allowed memory size of 25165824 bytes exhausted
(tried to allocate 20961280 bytes) in
<b>/var/www/html/netcat/require/e404.php</b> on line <b>86</b><br />
Другие файлы, размером меньше 20 МБ, так и не скачиваются.
|
|
|
17.08.2011, 19:11
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
Можете сменить для поля тип файловой системы с защищенной на стандартную, тогда файлы будут отдаваться "напрямую", без неткэта
|
|
|
18.08.2011, 09:15
|
|
Максим
Зарегистрирован: 2011-08-17
Сообщений: 6
|
Скорее всего, можно так было сразу сделать, но я побоялся, что при смене типа поля, придётся файлы заного закачивать - у меня их много. Но как крайнюю меру, возможно, придётся использовать ваш совет, если проблема не решится.
|
|
|
18.08.2011, 16:41
|
|
DiGGy
DiGGy

Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Как не странно, но неткет позволяет проводить смену типа файловой системы при уже закачанных файлах. Сам движок определяет тип файловой системы не по настройкам поля в компоненте, а по формату имени файла, который храниться в таблице, только по этому все после смены типа у вас ничего не падает.
имхо - это некорректная операция, которая может привести к нарушению целостности, я бы запрещал такие операции.
Temet nosce...
|
|
|
18.08.2011, 17:58
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
Тип файловой системы поменяется, но ранее закаченные файлы останутся в прежней системе ( иначе были бы проблемы хотя бы с битыми ссылками ).
|
|
|
18.08.2011, 21:51
|
|
DiGGy
DiGGy

Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Используя штатный api битых ссылок не будет - это плюс, но есть небольшой % тех случаев, когда приходится ссылки ручками формировать, основываясь на конкретном типе файловой системы - в этом случае все пойдет трубой.
Буквально месяц назад был случай, когда у чела порядка 3000 картинок изначально были в защищенном типе, что приводило к излишним нагрузкам на ресурсы сайта. Требовалось все перевести на другой тип, пришлось и тип менять, все файлы переименовывать и растаскивать по нужным каталогам. Не то чтоб сложно, но нудно.
Было бы хорошо, если бы при смене типа движок запрашивал: "привести все ранее закаченные файлы к новому типу? (да/нет)".
Temet nosce...
|
|
|
19.08.2011, 11:14
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
Но что делать с ссылками, которые уже в индексе поисковиков? или если ссылка на изображение используется на другом сайте?
|
|
|
19.08.2011, 12:13
|
|
DiGGy
DiGGy

Зарегистрирован: 2005-04-04
Сообщений: 1546
|
дык, это уже на откуп самого юзера, вопрос же:
"привести все ранее закаченные файлы к новому типу? (да/нет)"
Ну или хотя бы писАть предупреждение о возможных проблемах - защита от дурака. А то и ща спокойно можно строчный тип на числовой поменять, а потом обратно на строчный - движок позволит это сделать, тока не все могут понять, что данные потеряются.
Temet nosce...
|
|
|
19.08.2011, 15:04
|
|
Максим
Зарегистрирован: 2011-08-17
Сообщений: 6
|
Как я понимаю, корни моей проблемы кроются в защищённом типе файловой системы в поле шаблона. Я проверил - файлы размером более 4Мб, поле шаблона которых имеет стандартный тип, скачиваются без проблем. Вот хотелось бы уточнить: это только у меня или это общая беда системы?
|