我在 amazon linux 上使用 apache 和 php。我已将 php 从 5.3 更新到 5.5,将 apache 从 2.2 更新到 2.4。现在调用
echo hash('sha256','wtf');
行为方式很奇怪。它工作了一段时间,然后只有 50% 的时间开始工作。Apache 错误日志中充满了“调用未定义的函数哈希”。
周围没有更多的代码,我创建了一个单独的文件,只使用了该函数,一半时间我看到哈希,另一半是 http 500。
这可能是什么原因造成的?模块怎么会消失?我在任何 ini 文件中都没有看到 extension=hash.so,但它在开始时又能正常工作。重新启动 apache 有帮助,但我想弄清楚发生了什么。从哪里开始搜索比较合理?
答案1
如果您启用了任何操作码缓存器(如 opcache、APC 等),我建议您尝试禁用它们。
另外,查看你的 php.ini 中是否有 zend_extension 的内容,并尝试禁用它。
当然,有些代码可能依赖上述功能,因此请谨慎禁用。