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

Сообщение об ошибке 500 - но только для определенных страниц / операций

Я немного сбит с толку и сбит с толку проблемой, с которой я столкнулся с Apache / PHP.

Всякий раз, когда я пытаюсь открыть определенные страницы, я получаю сообщение об ошибке 500. Например, если я пытаюсь отредактировать представление в Drupal, через некоторое время запрос истекает, и я получаю сообщение об ошибке 500. С тех пор я также обнаружил, что отображение электронных писем в формате HTML или доступ к вложениям в веб-почте Roundcube также вызывает ошибку 500.

Я установил лимит памяти PHP на 256 МБ. Я включил отображение ошибок PHP и ведение журнала, но в журналах ничего не отображается.

Я проверил свой журнал ошибок Apache и получил следующее:

[Сб, 8 октября, 00:11:34 2011] [уведомление] mod_fcgid: вызовите /home/id0074/public_html/index.php с оболочкой /home/id0074/fcgi-bin/php5.fcgi Предупреждение PHP: Запуск PHP: невозможно загрузить динамическая библиотека '/usr/lib/php/modules/intl.so' - /usr/lib/php/modules/intl.so: невозможно открыть файл общего объекта: нет такого файла или каталога в Неизвестном в строке 0

Обратите внимание, что упомянутый каталог виртуального хоста (id0074) предназначен не для сайта Drupal, а для другого размещенного сайта, однако время совпадает со временем доступа. Есть много похожих ошибок, разбросанных по журналу ошибок Apache для разного времени и виртуальных хостов, однако ни на одном из моих других сайтов нет сообщений об ошибках 500.

Некоторые другие страницы администрирования и все интерфейсные страницы работают, но запрос обрабатывается медленно (т.е. страница отображается через 5-10 секунд ожидания).

Я использую VPS под управлением CentOS 5.7 и Webmin / Virtualmin. Насколько я могу судить, доступной памяти достаточно (использование редко достигает 75%).

С чего мне начать поиски и что я могу сделать, чтобы решить эту проблему?

Вы пытаетесь загрузить intl.so либо в конфигурацию php, либо в свой скрипт. Установите модуль, либо снимите нагрузку. Проверьте /etc/php.conf /etc/php.d/ и код, чтобы узнать причину.