`mcrypt_create_iv`失速,但只能通过Apache

时间:2015-07-25 18:26:54

标签: php mcrypt gentoo

我最近在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是​​没有效果的。

2 个答案:

答案 0 :(得分:1)

经过一些实验,我明白了。

我没有在APACHE2_MPMS中设置make.conf,因此默认为worker MPM。我将其设置为使用prefork并清除此问题。

我确实设置了threads USE标志,这与prefork和PHP冲突,所以我删除了那个use标志。使用我的个人资料,这意味着大多数具有该标记的包仍然设置了,但phpmod_php已停用。

答案 1 :(得分:1)

似乎是一个错误(https://bugs.php.net/bug.php?id=69833)的php修复了5.6.13