我最近在PHP的本地安装开始这样做,但我不知道发生了什么变化,并且可能已经开始了。当我调用mycrypt_create_iv
时,它会以100%的CPU利用率完全停止,而当Apache调用它时仅。当我从CLI调用它时,它几乎立即返回。我的测试文件如下:
<?php echo mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);
当然,这些值是我发现此问题时调用函数的内容。这个问题发生在PHP 5.5或5.6中,所以我不认为它是特定的PHP版本。
我正在运行Gentoo Linux,因此根本原因可能是构建问题,但我重建libmcrypt,PHP和Apache是没有效果的。
答案 0 :(得分:1)
我没有在APACHE2_MPMS
中设置make.conf
,因此默认为worker
MPM。我将其设置为使用prefork
并清除此问题。
我确实设置了threads
USE标志,这与prefork
和PHP冲突,所以我删除了那个use标志。使用我的个人资料,这意味着大多数具有该标记的包仍然设置了,但php
和mod_php
已停用。
答案 1 :(得分:1)
似乎是一个错误(https://bugs.php.net/bug.php?id=69833)的php修复了5.6.13