Назад | Перейти на главную страницу

PHP скрипт 500 ошибка

У меня есть скрипт php с простым mysql SELECT запрос, который извлекает из базы данных более 1000 строк ...

Он дает 500 внутренних ошибок сервера много раз, когда мне нужно получить большое количество строк ..

Тот же сценарий отлично работает, когда я запускаю его из команды оболочки unix:

/usr/bin/php  scriptname.php

Это сервер с apache + php fcgi.

Пожалуйста, помогите - спасибо!

Как насчет изменения сценария, просто возвращая часть строк (например, первые 100 строк), а затем давая возможность получить следующие.

Не каждую проблему можно решить с помощью некоторых параметров конфигурации.

Вероятно, ваш сценарий превышает лимит тайм-аута. Вы должны использовать set_time_limit функция.

Я думаю, у вас, вероятно, истек таймаут Fcgi. Как долго запускается скрипт? Что делает Apache error_log сказать? Вы пробовали изменить Директива FcgidBusyTimeout в конфиге Apache?

Это может быть связано с несколькими проблемами: в PHP есть разные элементы управления, чтобы сценарий не сработал (максимальная память и максимальное время выполнения).

3 наиболее распространенные проблемы, связанные с 50-кратной ошибкой вашего сервера:

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

Удачи в отладке!