iconv_strlen函数导致执行超时,在MAMP上运行

bla*_*e24 12 php mamp character-encoding iconv

运行MAMP时有没有人遇到过iconv_strlen函数的问题?

小智 16

我一直遇到超时问题,但没有抛出任何异常.我正在开发Zend Framework网站.通过深入调试调试器,我将问题跟踪到iconv_strlen的使用.它没有被任何奇怪的字符串调用,它是一个用于验证主机名的简单函数.

为了验证这个问题,我尝试了一个简单的iconv_strlen("test","UTF-8"); 这会导致错误出现 - 浏览器中的无限旋转加载器但没有错误日志消息,并且脚本超出了最大执行时间.在这个版本的PHP中,这似乎是一个未被捕获的大事.

我的同事发现这篇文章可能会解决这个问题.我在Mac OS X机器上更新到最新的Snow Leopard,即10.6.这似乎是一个已知的错误,如果你构建自己的PHP或使用内置的Apple版本或使用端口,有一个解决方法.

长话短说,你可以用上面的补丁深入研究重新编译自己的php,但这种方式首先打败了MAMP.

最快的解决方案就是永远不要使用iconv_strlen()(或任何iconv_函数) - 如果您使用Zend Framework,这不是一个选项 - 或者还原MAMP使用php 5.2.

直到MAMP开始包含php源文件并提供一种方法,通过该方法可以轻松地重新编译与所有必需库捆绑在一起的php,这必然是包的限制.MAMP工作得很好,直到你需要重新编译php.当发生这种情况时,简单地使用端口要容易得多.

  • 它最终在MAMP 2.0.2中得到解决http://blog-en.mamp.info/2011/08/mamp-pro-2-0-1-released.html (3认同)