Моя локальная установка PHP начала делать это недавно, но я не знаю, что изменилось и могло начать это. Когда я звоню, он полностью останавливается со 100% загрузкой процессора mycrypt_create_iv
, но только когда это называется Apache. Когда я звоню из CLI, он возвращается почти мгновенно. Мой тестовый файл выглядит следующим образом:
<?php echo mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
Значения — это, конечно, то, с чем вызывалась функция, когда я обнаружил эту проблему. Эта проблема возникает с PHP 5.5 или 5.6, поэтому я не думаю, что это конкретная версия PHP.
Я использую Gentoo Linux, поэтому возможно, что основной причиной была проблема сборки, но я перестроил libmcrypt, PHP и Apache безрезультатно.
После некоторых экспериментов я получил это.
У меня не было APACHE2_MPMS
установить в make.conf
так что по умолчанию это worker
MPM. Я настроил его на использование prefork
и эта проблема исчезла.
У меня был threads
Установлен флаг USE, который конфликтует с prefork
и PHP, поэтому я убрал этот флаг использования. С моим профилем это означало, что большинство пакетов с этим флагом все еще было установлено, но php
а также mod_php
отключен.
кажется ошибка (https://bugs.php.net/bug.php?id=69833) PHP, который исправлен в 5.6.13