04.06.2009, 22:03 | #1 |
Специалист
Регистрация: 13.04.2007
Сообщений: 135
Вес репутации: 210
|
Warning: array_key_exists()
Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/itbelarus/www/it-belarus.net/[hash]/sape.php on line 395
Площадка it-belarus.net Два дня (вчера и сегодня) постоянно вылазит такая ошибка. По форуму я посмотрел - не докачивается файл. В течение дня несколько раз удалял файл, он по-прежнему не докачивается. Причём несколько раз проверил, скачивается только 224 килобайта (должно быть около 1.5 мегабайта). В чём может быть проблема? До этого больше года проблем почти никогда не было, а тут уже более суток проблема. Последний раз редактировалось suraev; 04.06.2009 в 22:08. |
04.06.2009, 22:05 | #2 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 368
|
suraev, хеш зря спалили, ибо догадываюсь на папке 777 стоит
просто удалите линкс.дб и все путем станет |
04.06.2009, 22:10 | #4 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 368
|
|
07.06.2009, 16:58 | #5 |
Специалист
Регистрация: 13.04.2007
Сообщений: 135
Вес репутации: 210
|
Вступил в переписку с хостером.
--- Добрый день, вчера (4 июня) и сегодня (5 июня) у сайта it-belarus.net проблема со скачкой файла с серверов dispenser-01.sape.ru и dispenser-02.sape.ru. Файл докачивается не полностью (вместо 1.5 мегабайта мы получаем от 200 килобайт до 1 мегабайт). Пробовали неоднократно. Там подсказывают, что это может быть связано с лимитом времени на исполнение скрипта. Может быть, вы меняли какие-то настройки вчера? --- Ответ: --- Мы ничего не меняли. Есть прямая ссылка для проверки скорости скачивания? --- Вопрос - какой url им сообщить для проверки? |
07.06.2009, 19:18 | #6 |
Администратор
Регистрация: 05.02.2007
Сообщений: 18,405
Вес репутации: 715
|
suraev, поиск по слову dispenser даст ссылку на поолучение линкса. ее и отдайте хостеру.
__________________
Читаем ФАК |
07.06.2009, 19:20 | #7 |
Администратор
Регистрация: 22.11.2006
Сообщений: 5,868
Вес репутации: 21475165
|
кинул в личку урл
Добавлено через 1 минуту можно попробовать поменять вид соединения http://www.sape.ru/faq.php?q_id=229 Последний раз редактировалось Avelon; 07.06.2009 в 19:20. Причина: Добавлено сообщение |
07.06.2009, 19:34 | #8 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 368
|
|
09.06.2009, 20:00 | #10 |
Новичок
Регистрация: 30.05.2009
Сообщений: 4
Вес репутации: 0
|
Поразбирался немного с проблемой неполного линкса, так как советы которые нашел не очень-то помогали. ИМХО проблемы с сетью тут не при чем, ошибка происходит непосредственно при записи уже закаченной информации в файл. В скрипте sape.php пред записью стоит проверка на корректность закаченных данных. То есть недокаченный линкс даже не начнет записываться.
Из-за косяка в sape.php, если при записи произойдет ошибка, скрипт продолжит выполняться, как будто все нормально, в обработку поступит обрезанный линкс, и получаем Warning: array_key_exists()... Более того, при следующем запуске sape.php получим то же самое и так будет, пока линкс не обновится и не запишется полностью. Решение 1. Сначала я добавил проверку на корректность линкса при каждом запуске sape.php. Если есть ошибки, то линкс загружался заново. PHP код:
Решение 2 Предыдущее решение вобщем-то работало, но хотелось выяснить почему появлялись ошибки записи. Покопался в коде и в и-нете. Оказалось, что функция записи в файл в sape.php написана довольно стандартно через блокировку файла. При таком подходе при ограничении ресурсов и большом количестве попыток блокировать файл разными процессами php отрабатывает криво и файл часто записывается урезанным. Однако, применив небольшую хитрость с дополнительными блокировочным и временным файлами можно полностью устранить ошибки записи даже на самых тормозных хостингах. Код переписанной функции: PHP код:
Прикладываю скрипт со вторым решением. |
Опции темы | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Warning: array_key_exists(): вылезло | cash | Ошибки при работе с системой | 3 | 16.06.2009 19:41 |
Warning: array_key_exists | anshir | Ошибки при работе с системой | 4 | 20.05.2009 14:28 |
Warning: | Leminov | Вопросы по работе системы | 2 | 04.03.2009 22:38 |
array_key_exists() | ZergioZ | Ошибки при работе с системой | 2 | 26.01.2009 23:28 |
Warning: array_key_exists(): | paulg | Ошибки при работе с системой | 4 | 25.12.2008 10:47 |
Часовой пояс GMT +3, время: 16:46.