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

Php не может найти хеш-функцию

Я использую apache с php на amazon linux. Я обновил php с 5.3 до 5.5 и apache с 2.2 до 2.4. Сейчас звоню

echo hash('sha256','wtf');

ведет себя странно. Он работает какое-то время, а затем начинает работать только в 50% случаев. Журнал ошибок Apache заполняется «хешем вызова неопределенной функции».

Здесь больше нет кода, я создал отдельный файл, в котором использовалась только эта функция, половину времени я вижу хеш, а другая половина - http 500.

Что может быть причиной этого? Как модуль может просто исчезнуть? Я не вижу extension = hash.so ни в одном из файлов ini, но опять же, он работает в начале. Перезапуск apache помогает, но я хотел бы разобраться, что происходит. С чего можно было бы начать поиск?

Я бы посоветовал попробовать отключить любые кешеры кодов операций, такие как opcache, APC и т. Д., Если они у вас включены.

Также проверьте, есть ли в вашем php.ini что-нибудь для zend_extension, и попробуйте отключить его.

Конечно, некоторый код может полагаться на вышеуказанные функции, поэтому отключайте их с осторожностью.