TYPO3”;核心:错误处理程序(FE):PHP警告:is_dir():找不到包装程序&”;


TYPO3 "Core: Error handler (FE): PHP Warning: is_dir(): Unable to find the wrapper ..."

我正在学习使用TYPO3。我已经在Ubuntu Server 14.04.1 LTS上安装了TYPO3 v6.2.4和"官方介绍包"。一切都很好,但有一天早上我注意到我的TYPO3网站加载了很长时间。在那之后,它看起来很奇怪(似乎缺少css)。首先,我登录到TYPO3 CMS后端,并在日志中看到以下内容:

Core: Error handler (FE): PHP Warning: is_dir(): Unable to find the wrapper "ttp" - did you forget to enable it when you configured PHP? in /opt/typo3/typo3_src-6.2.4/typo3/sysext/core/Classes/Utility/GeneralUtility.php line 884

GeneralUtility.php第884行

在谷歌上搜索了一段时间后,我并没有找到这个错误的确切答案。我试着自己找出原因。幸运的是,在按下"刷新常规缓存"清除缓存后,我的网站开始正常工作。但第二天早上,情况再次发生。

如果能找出错误的原因就好了,但我不知道从哪里开始。目前我正在阅读"高效调试TYPO3"。也许有人遇到了这种情况,或者可以给出很好的建议来解决它。谢谢。

p.s.对不起,英语不是我的母语,可能我在文本中犯了很多错误)

虽然这不是直接的答案,但我们也会遇到同样的警告。虽然我也不知道这是从哪里来的。

→在给定的日志时间,访问日志中有条目,但不包含"http"方案。不过,引用者http://httpheader.net很奇怪。我对日志行中的IP进行了匿名处理。目前,有两个访问间隔10秒。请注意,这会导致307重定向,但客户端没有遵循,因为没有后续条目。对我来说,这似乎是一个机器人造成的。

93.174.0.0 - - [15/Sep/2014:06:58:57 +0200] "GET http://www.fsmb.de/ HTTP/1.1" 307 267 "http://httpheader.net" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 (.NET CLR 3.5.30729)" 93.174.0.0 - - [15/Sep/2014:06:58:47 +0200] "GET http://www.fsmb.de/ HTTP/1.1" 307 267 "http://httpheader.net" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 (.NET CLR 3.5.30729)"

→在我们的整个项目结构中,包括typep3系统文件夹、供应商文件夹、自己的扩展、静态Typoscript,对[^h]ttp的正则表达式搜索仍然毫不费力。

→在整个DB中,用正则表达式搜索[^h]ttp仍然很容易。

到目前为止,我的结论是,http方案可能不是由中所讨论的打字错误引起的http://forum.typo3.org/index.php/t/205719/,但可能是一些子字符串索引或正则表达式拆分与普通URL有关的问题。我们应该检查GeneralUtility::split_fileref的所有用法的上下文。

希望这能有所帮助!

我使用的是typep3 4.7,日志中显示

Core: Error handler (FE): PHP Warning: is_dir(): Unable to find the wrapper "ttp" -
     did you forget to enable it when you configured PHP? 
    in typo3_src-4.7.10/t3lib/class.t3lib_div.php line 1005

我在文件class.t3lib_div.php中查找了它,创建此错误的函数称为split_fileref()

     /**
      * Splits a reference to a file in 5 parts
      *
      * @param string $fileref Filename/filepath to be analysed
      * @return array Contains keys [path], [file], [filebody], [fileext     ], [realFileext]
      */
     public static function split_fileref($fileref) {
     //[...]
     if (!is_dir($fileref) && preg_match('/(.*)'.([^'.]*$)/', $info['file'], $reg))         $info['filebody'] = $reg[1];
     }
         //[...]

所以我怀疑在你的一个打字3内容元素中,有人输入了一个路径应该在的URL

但是如何在后台找到这个配置错误的页面呢?我不知道。我也可以是好几页。

这并不一定意味着这就是你表现问题的确切原因。