|
0 / 0 / 0
Регистрация: 22.06.2016
Сообщений: 54
|
||||||
Ошибка 500 при выполнении скрипта06.10.2017, 15:10. Показов 4734. Ответов 13
Метки нет (Все метки)
Здравствуйте!
Составил скрипт для формирования карты сайта sitemap. Точнее должны генерироваться много файлов (более 100) с записями по 50тыс. В базе несколько миллионов строк. Сейчас работает так: при открытии страницы начинает выполняться скрипт, в папке на хостинге создаются файлы sitemap-N.xml плюс его архив sitemap-N.xml.gz. Скрипт работает примерно 45 секунд и выдается ошибка: 500 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. В результате создается меньшее количество файлов чем требуется (38 из 100, например), при чем каждый раз разное. Помогите, пожалуйста, разобраться в чем может быть причина? Может какие-либо настройки php или apache добавить\изменить? Заранее спасибо большое! Собственно код:
0
|
||||||
| 06.10.2017, 15:10 | |
|
Ответы с готовыми решениями:
13
При выполнении скрипта с командой mssql_connect(.....) выдается ошибка 'неизвестная команда' Error 500 при работе скрипта Непонятный результат при выполнении скрипта для обработки формы |
|
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
|
|
| 06.10.2017, 15:20 | |
|
посмотрите в лог ошибок апача
по всей видимости или время выполнения РНР-скрипта или объем выделяемой ему памяти недостаточны. все это меняется в конфиге РНР
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2016
Сообщений: 54
|
||
| 07.10.2017, 12:58 [ТС] | ||
|
"[fcgid:warn] [pid 69141] mod_fcgid: process 74547 graceful kill fail, sending SIGKILL" Добавлено через 19 часов 57 минут Время выполнения скриптов увеличил, все равно такая ошибка.
0
|
||
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
|
| 07.10.2017, 14:32 | |
|
Kadad, выполняйте скрипт порциями по 30 секунд.
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2016
Сообщений: 54
|
|
| 07.10.2017, 16:11 [ТС] | |
|
0
|
|
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
||||||
| 07.10.2017, 18:55 | ||||||
|
Kadad, К примеру так
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.06.2016
Сообщений: 54
|
|
| 07.10.2017, 18:59 [ТС] | |
|
Спасибо большое! Попробую.
0
|
|
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
|||
| 07.10.2017, 19:03 | |||
|
0
|
|||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 07.10.2017, 19:50 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 22.06.2016
Сообщений: 54
|
||
| 11.10.2017, 12:55 [ТС] | ||
|
0
|
||
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
|
| 11.10.2017, 21:26 | |
|
Kadad, Я как и предполагал, тормоза из-за использование LIMIT при большом количестве записей, а особенно несколько миллионов, при большом числе $start время выполнения такого запроса может доходить до нескольких минут. Как бы вы не запускали скрипт, все равно нужно как-то оптимизировать запрос.
Добавлено через 1 минуту Kadad, Я не силен в этих делах, почитайте что-нибудь про оптимизацию LIMIT
0
|
|
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
|||||||||||
| 13.10.2017, 16:07 | |||||||||||
|
В таблице есть уникальное ключевое поле с auto increment? Типа идентификатор (id).
У меня обработка миллионов строк решается таким путем: 1. Во-первый в начале выполнения скрипта снимается лимит на время работы php:
![]() Добавлено через 6 минут Ну и такое лучше не выполнять гет запросом (при заходе на страницу). Если скрипт может работать долго, луче его запускать вручную из командной сроки, по крону или через ajax. При этом очень удобно реализовать что-то типа прогресс бара, или в случае командной строки просто выводить $last_id после каждой итерации запроса.
0
|
|||||||||||
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
|
| 13.10.2017, 20:36 | |
|
Зверушь, На сколько я читал, для оптимизации рекомендуется вообще отказаться от limit и сортировок. И делать к примеру выборку по промежутку id-шников, либо по отдельному полю, которое будет нумеровать все элементы. Запрос с limit значительно медленней работает, тем более, когда вы добавляете сортировку, в памяти создается отсортированная таблица, и из нее берутся несколько записей, что требует много памяти.
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2016
Сообщений: 54
|
|
| 16.10.2017, 20:49 [ТС] | |
|
Всем спасибо за помощь!
0
|
|
| 16.10.2017, 20:49 | |
|
Помогаю со студенческими работами здесь
14
Ошибка 500 при обработке скрипта При выполнении скрипта возникла ошибка. Включить расширенный вывод ошибок можно в файле настроек .settings.php Ошибка 500 и время выполнения скрипта php.exe выдает ошибку при выполнении скрипта bat файлом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|