脚本宝典收集整理的这篇文章主要介绍了我在PHP的“crypt()”中找到了一个错误?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
但是,我认识到这可能是我的错. PHP被数以百万计使用,成千上万的工作;我的@L_360_6@被我使用了几十个. (这个说法最好是explained on Coding Horror)
所以我要求帮助:告诉我我的错我一直在试图找到它几天,没有运气.
设置
我正在使用Windows 2.2.14(Win32)和PHP 5.3.2的Windows服务器安装.我的开发框运行Windows xp PRofessional; “生产”服务器(这是一个内部网设置)运行Windows Storage Server 2003.这两个问题都发生.
我没有看到任何与PHP.ini相关的crypt(),但会很高兴地回答有关我的配置的问题.
问题
我的程序中的几个脚本偶尔挂起:页面坐在那里等待本地主机,从不完成.这些脚本中的每一个使用crypt将用户的密码哈希,然后将其存储在数据库中,或者在登录页面的情况下,将输入的密码进行哈希,然后将其与存储在数据库中的版本进行比较.
由于登录页面最简单,所以我专注于测试.我反复登录,发现它可能会挂起10次.
作为实验,我更改登录页面以使用纯文本密码,并将数据库中的密码更改为纯文本版本.页面停止挂起.
我看到PHP的最新版本列出了这个bug修复:
所以我创建了一个非常简单的测试脚本,如下,使用与an official example中给出的相同的盐:
$foo = crypt('rasmuslerdorf','r1'); echo $foo;
这个页面也会挂起来,如果我重新加载它像疯了.我只看到它挂在Chrome上,但无论浏览器如何,对apache的影响是一样的.
对Apache的影响
当这些页面挂起时,Apache的server-status page(我解释了here,有关不同的问题)增加了正在处理的请求数量,并减少了空闲工作人员的数量.正在处理的请求几乎都有“发送回复”的状态,虽然有时候他们会显示“阅读请求”或“保持活动(读取)”.
最终,Apache可能会崩溃.如果是这样,Windows崩溃报告如下所示:
szAppName: httpd.exe szAppver: 2.2.14.0 szModName: PHP5ts.dll szModVer: 5.3.1.0 // OK,this report was before I upgraded to PHP 5.3.2,// but that didn't fix IT offset: 00a2615
这是我的错吗
我试图向PHP提交一个错误报告.反对它的论点是,如上所述,错误几乎总是我的错.
>我正在使用Windows,而大多数服务器使用Linux(我不会选择这个),所以机会更大,我发现了一个边缘案例
>最近有一个crypt()的bug,所以也许还有问题
>我做了最简单的测试用例,我还有问题
有人可以复制吗你能建议我出错了吗?我应该提交bug?
提前感谢您提供的任何帮助.
不过http://bugs.php.net/bug.php?id=51424是.我已经在那里贴了一些部分补丁,但是它解决了大部分可能的锁,但这确实是不够的.在下一个5.3版本中将会有一个完整的修复.
顺便说一下,它不是Windows特定的,而是关于线程SAPI(例如,Windows apache 2.2).
以上是脚本宝典为你收集整理的我在PHP的“crypt()”中找到了一个错误?全部内容,希望文章能够帮你解决我在PHP的“crypt()”中找到了一个错误?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。