我正在使用opencart 2.0.2.0
。我只是检查一些随机技巧,我写的网址index.php?route=common/home
到index.php?route=common/home%00
。它给我看错了Warning: is_dir() expects parameter 1 to be a valid path, string given in \system\engine\action.php on line 18
不明白为什么会发生这种情况。任何人都可以请帮助我知道为什么会出现这个错误,我该如何解决?Opencart在更改url时显示错误
0
A
回答
1
经过一番研究,我发现,它实际上是在PHP中的错误(报道here @ 2015年2月4日和已经固定)
什么是你的问题呢?
空字节(%00)
导致PHP字符串截断(这是正常的,我认为是因为PHP的字符串是通过C字符串实现)
因此正在发生的事情OC?
- 打开文件
<OC_ROOT>\system\engine\action.php
,类Action
驻留那里,它是负责解析路径参数,确定适当的控制器被加载(你有错误的)+调用该函数在控制器和保持方法参数,以便被执行 - 在以后通过在该行
$file = DIR_APPLICATION . 'controller/' . str_replace(array('../', '..\', '..'), '', $path) . '.php';
你会发现,所述控制器文件通过附加加载.php
到通过解析路由参数,因为已增加了一个构造的$path
可变额外的空字节到路由,$file
看起来是这样的:bla bla bla/common/home\0.php
,在\0
导致剥离,这导致一个不存在的文件路径.php
,这就是为什么OC加载错误页
如何解决呢
只需从关闭警告你项目,如果你的意思是“我该如何解决它?”让它工作,然后在解析它之前(在同一个文件中)去掉路由参数中的空字节,但我不建议你这样做,因为它是一个被处理的破解,你将会解除它:D
0
这只是这个opencart版本的警告。为了快速解决,您将添加“error_reporting(0);”在__construct函数中。
谢谢。
相关问题
- 1. 在opencart中刷新修改时显示错误
- 2. Opencart显示下拉错误
- 3. 显示URL错误
- 4. 如何在opencart中更改javascript的url
- 5. Opencart禁用Mysql/Php错误显示
- 6. Opencart安装和显示错误
- 7. 如何在使用ui-router显示404错误页面时更改url
- 8. Opencart的错误,同时更新产品
- 9. Android的NumberPicker在屏幕方向更改时显示错误值
- 10. 如何在ExtJS4 GridPanel中保存更改时显示错误?
- 11. Opencart网站上传到服务器时显示错误
- 12. Rails:更改显示的错误列名
- 13. 如何更改opencart url结构
- 14. Opencart的错误日志显示独特的错误
- 15. AVAssetWriter显示URL错误
- 16. spring:url显示错误的URL
- 17. Opencart更改修改
- 18. 我在OpenCart中遇到错误404,当我在Admin中保存更改时
- 19. Spring + Tiles - 在不更改URL的情况下显示错误页面?
- 20. 如何在开发OpenCart时在浏览器中显示500错误
- 21. 从Excel 97-2003更改时ETL显示错误消息
- 22. 当minDate更改/动态时,Md-datepicker不显示验证错误
- 23. 改变URL结构Opencart的
- 24. Python - 更改BeautifulSoup URL的显示内容?
- 25. Javascript更改显示基于URL
- 26. GET请求后更改显示的URL
- 27. Opencart的错误
- 28. na.approx更改时区显示
- 29. CSS显示暂时更改
- 30. 更改了时间显示