PHP:奇怪的usort bug

时间:2011-03-27 08:53:58

标签: php zend-framework usort

在我的本地计算机上一切正常。但是当把这段代码上传到我的实时服务器时,我收到一个奇怪的警告......

usort($modules, array('util_SortItem', 'ByOrder'));

导致此警告:

  

警告:include_once(sc3lycp6hmyab.php)[function.include-once]:无法打开流:第146行/opt/www/xxx/web/private/Zend/Loader.php中没有此类文件或目录< / p>      

警告:include_once()[function.include]:无法在/ opt / www /中打开'sc3lycp6hmyab.php'(include_path ='。:/ usr / share / php:/ usr / share / pear')第146行的xxx / web / private / Zend / Loader.php

当我从代码中删除usort时,警告会消失。

关于如何摆脱这种警告的任何想法?

3 个答案:

答案 0 :(得分:3)

这与usort无关,但与您ByOrderUtil_SortItem类的usort()方法无关。

您应该查看定义该类的文件,以查看它触发错误的作用。

一种可能性是它试图包含一个不存在的类,它会触发Zend的Autoloader;另一个是Zend试图创建某种缓存文件。

答案 1 :(得分:2)

对我来说,它看起来像垃圾邮件发送者的名字。我猜它与此无关。我认为你可能在你的应用程序中没有转义,导致有人试图利用它;)

答案 2 :(得分:1)

我无法解决这个问题,但我通过合并两个查询并在SQL服务器上进行排序来摆脱它。