Ошибка 500 при создании карты сайта (iCMS 2)

#16 22 июня 2016 в 12:59

ioncube подключен

Fuze


Понимаю, что проверить работу "Генератор карты сайта" при таком объеме данных не так просто, так как эти данные нужно где-то взять и куда-то загрузить. Поэтому готов предоставить доступ к админке сайта, к ftp и phpMyAdmin.

Спасибо.
#17 22 июня 2016 в 14:49

Если создать задание как положено, через php cli, т.е. команда для CRON будет примерно такой

Fuze
Но не все же пользователи такие спецы, почему просто не разбить создание карты на более мелкие объемы с паузами. Да и не все хостинги будут разбираться как правильно прописать эту команду, у меня они варианты кидали команд какой заработал на отработку крона тот и оставили.
#18 22 июня 2016 в 14:57

не все хостинги будут разбираться как правильно прописать эту команду

kdv1978
Я подсмотрел, как правильно прописать команду для моего хостинга в компоненте Видео во вкладке "Диагностика". Но это не решает проблему, так как скрипт просто не запускается, но в то же время другие задания выполняются вовремя. Но и генератор карты сайта работал, когда было в 2 раза меньше объектов. Скрипт не рассчитан на большой объем данных. Но в планах было увеличить этот объем еще в 4 раза. Не знаю даже, стоит ли продолжать. sad
#19 22 июня 2016 в 15:04

Скрипт не рассчитан на большое количество данных.

Дмитрий Кайдаш
Поэтому я и говорю что надо при объеме более там 10 000 позиций дополнительно разбивать, в sitemap_content_board.xml заносить ссылки на sitemap_content_board_1.xml sitemap_content_board_2.xml и т.д. чем один большой.
#20 22 июня 2016 в 15:27
kdv1978, сейчас так и происходит, только по 45000 записей в одном файле: sitemap_content_places.xml, sitemap_content_places1.xml. Проблема в том, что скрипт не хочет запускаться при 100 тыс. записей.
#21 22 июня 2016 в 17:36
Что-то мне подсказывает, что проблема если и будет решена, то очень не скоро...

Вышел из положения так: компонент отключил, создал вручную за 2 минуты с помощью Excel + Notepad++ файл sitemap.xml, который содержит страницы типа site.ru/places?page=1.html, site.ru/places?page=2.html и т.д. — всего 10684 страницы, залил это файл в папку cache/static/sitemaps. По идее, роботы должны проиндексировать их, а дальше с них перейти индексировать страницы объектов.

Но проблема актуальна, так как хотелось бы сделать нормальную карту сайта без костылей.

Спасибо.
#22 22 июня 2016 в 18:31

у PHP CLI отсутствуют лимиты на время выполнения скрипта

Fuze
Здесь ещё под вопросом из-за лимитов по времени ли это происходит. Я запуская крон в ручную из админки не вижу что бы что то отрабатывало там например 30 сек. и крах. У меня обрывается мгновенно, буквально через секунду, похоже даже не начав работать. Если бы проблема была в лимите на время выполнения скрипта, то как правило скрипт отрабатывает, все крутится вертится но не укладывается во время и крах, у меня же крах мгновенный если подключить контент где количество записей более 100 000.
#23 22 июня 2016 в 18:36
Дмитрий Кайдаш, проблемы в движке нет. Есть проблема у вас. Кроме вас никто с ней не будет разбираться, кроме подсказок куда посмотреть и что подстроить. В данном случае значит нужно копать дальше и искать, почему скрипт прерывает работу. Я подозреваю, что упирается в память, но логи скажут точно. И если это так, то директива PHP memory_limit, а вернее увеличение ее значения, решит проблему.

Скрипт не рассчитан на большой объем данных

Дмитрий Кайдаш
Скрипту до лампочки сколько данных. CMS просто выполняет свою работу. И если мощности сервера, размер выделяемой памяти, настройки ПО не позволяют скрипту выполнить свою работу, то он явно тут не при чем. Это как с футболистами РФ, если уровень игры маленький, то хоть миллиарды им плати, толку не будет.

Но не все же пользователи такие спецы

kdv1978
Не нужно быть "спецом", чтобы следовать инструкции. А если вы купили шаред хостинг за 100 рублей и ожидаете, что на нем не будет ограничений на выделяемую память, время выполнения скрипта, то это ошибка в подходе.
#24 22 июня 2016 в 18:56
Моя проблема решилось увеличением memory_limit со 128 мегабайт до 500
#25 22 июня 2016 в 20:10
А у меня карту сайта он тоже видеть не хочет, хотя она маленькая и загрузилась вполне быстро. Карту не видит Яша. Может через htaasess надо её разрешить смотреть? Не знаю…
#26 22 июня 2016 в 20:25

128 мегабайт до 500

SALIK
512, 512 надо! аж глаза режет) shock
#27 22 июня 2016 в 20:47

memory_limit

Fuze
1024. Сколько нужно? При запуске ничего не происходит, кроме ошибки 500, которая появляется моментально. В логах чисто.

Скрипту до лампочки сколько данных

Fuze
Было 53000 объектов — всё работало. Стало 106000 объектов — всё не работает.

По сути, скрипт даже не успевает задуматься (если бы было мало памяти или других ресурсов) — просто выдает ошибку.
#28 22 июня 2016 в 20:56
Fuze, я не пытался Вас каким-либо образом задеть. Я так написал не со зла, а потому что понимаю, что есть более важные задачи. Тем более этот сайт, о котором я говорю — это лишь эксперимент. Серьезных планов на него нет — просто проверяю, как гугл к нему отнесется. А сделать сайт с таким количеством нормального контента я просто физически не смогу. И думаю, что мало, кто сможет. Я просто указал на проблему, потому что она есть. И не только у меня. И если вдруг найдется решение, то будет очень здорово))
#29 22 июня 2016 в 20:59
Azura, в robots.txt путь к ней пропишите и в Яндекс.Вебмастере добавьте в настройках индексирования.
#30 22 июня 2016 в 21:17

кроме ошибки 500, которая появляется моментально.

Дмитрий Кайдаш
Так если она появляется моментально, значит проблема в другом. Включите отладку в админке и в PHP — скорее всего будет либо ошибка БД, либо фатальная ошибка PHP с текстом описания причины. Зачем гадать.

По сути, скрипт даже не успевает задуматься (если бы было мало памяти или других ресурсов) — просто выдает ошибку.

Дмитрий Кайдаш
Так нельзя эту задачу запускать из админки, не отработает она при таком запуске и кол-ве записей (не хватит времени), поэтому я и писал выше как нужно чтобы она запускалась.

я не пытался Вас каким-либо образом задеть

Дмитрий Кайдаш
Да у меня и в мыслях не было, что вы хотите меня задеть. Излишняя эмоциональность моя скорее связана с тем, что мои ответы почему-то не принимаются к сведению.
Вот кстати по сабжу, человек сделал все как нужно и в итоге все работает

Моя проблема решилось увеличением memory_limit со 128 мегабайт до 500

SALIK

Я просто указал на проблему, потому что она есть. И не только у меня.

Дмитрий Кайдаш
Но это не значит, что есть проблема CMS. Я не спорю, что есть место для оптимизации при формировании карты, но это оптимизация существующего рабочего решения и исключительно в целях минимизации использования памяти.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.