2015-07-25 8 views
2

Моя локальная установка PHP начала делать это недавно, но я не знаю, что изменилось и могло начаться. Он полностью отказывается от 100% загрузки процессора, когда я вызываю mycrypt_create_iv, но только, когда это называется Apache. Когда я вызываю его из CLI, он возвращается почти мгновенно. Мой тестовый файл выглядит следующим образом:`mcrypt_create_iv` Stalls, но только через Apache

<?php echo mcrypt_create_iv(16, MCRYPT_DEV_URANDOM); 

Значение, конечно же, какая функция была вызывалось с тем, когда я обнаружил эту проблему. Эта проблема возникает с PHP 5.5 или 5.6, поэтому я не думаю, что это конкретная версия PHP.

Я запускаю Gentoo Linux, поэтому вполне возможно, что причиной возникновения ошибки была проблема сборки, но я не обновил libmcrypt, PHP и Apache.

+0

Как Apache настроен для запуска PHP? – GordonM

ответ

1

После некоторых экспериментов я получил его.

У меня не было APACHE2_MPMS, установленного в make.conf, поэтому он по умолчанию установлен на worker MPM. Я установил его для использования prefork, и эта проблема исчезла.

У меня был флаг USE threads, который противоречил prefork и PHP, поэтому я удалил этот флаг использования. С моим профилем это означало, что большинство пакетов с этим флагом все еще устанавливали его, но php и mod_php отключены.