AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] 疑似amh BUG反馈 |
|
---|---|
zsx |
zsx 发表于 2015-08-26 18:31:59
本帖最后由 zsx 于 2015-9-1 19:33 编辑
这里是Z-BlogPHP的作者。 近日我们接到不少反馈报告,如: http://bbs.zblogcn.com/forum.php?mod=viewthread&tid=90160&extra= 共同特征是使用了AMH 4.2。 经过各种调试,我们确定了出错代码,并予以修复。现进行反馈: https://github.com/zblogcn/zblogphp/commit/81c4d2a470aad3520beff3e83d0477f5ff893a25 先是环境: CentOS 6 (2.6.32-358.6.2.el6.x86_64)、nginx1.4.7、PHP 5.3.27 x64。 问题现象:无法通过simplexml_load_file直接读取文件,必须使用file_get_contents + simplexml_load_string替代。 在我们的测试机上,文件结构如图: 因为amh对路径进行了虚拟,所以此时,在KODExplorer内查看,233.xml在/web/amh/下,如图 以下是我们测试用的文件内容: 233.xml内内容: <?xml version="1.0" encoding="utf-8"?> amh-test.php内容:<hello> <world>233</world> </hello> <?php 返回:error_reporting(-1); ini_set('display_errors', 1); define('FILE_PATH', '/web/amh/233.xml'); $ret = array( "simplexml_load_file" => @simplexml_load_file(FILE_PATH), "readable" => is_readable(FILE_PATH), "file_get_contents" => file_get_contents(FILE_PATH), "simplexml_load_string" => simplexml_load_string(file_get_contents(FILE_PATH)) ); var_dump($ret); @号去掉,得: (2)E_WARNING : simplexml_load_file(): I/O warning : failed to load external entity "/web/amh/233.xml" (set_error_handler) 于是可以推断出结论,即simplexml_load_file无法直接加载文件。我们直接把真实物理路径交给simplexml_load_file,也是无法直接加载。 我们未继续向底层深究。根据错误现象,初步估计是amh部分的路径虚拟化未对simplexml组件生效,同时沙盒或类似功能对其进行了限制。 特此反馈,谢谢!
点赞,加油! (0分)
2015-08-26 18:31:59 1
|
Captain |
妹子来看下~
回复
2015-08-26 19:10:45 2
|
诸葛御风 |
A大来看一下
另外就是5.6.9的php pdo支持有问题啊
回复
2015-08-26 20:15:04 3
|
amysql |
测试在amchroot模块切换兼容模式是否正常?
回复
2015-08-27 16:19:24 4
AMH面板 - 好用高效低占用、安全可靠极稳定 |
amysql |
回复
2015-08-27 16:21:00 5
|
zsx |
调整为兼容模式后,路径改变为/home/wwwroot/xxxxx/web/amh/233.xml。此时可以正常读取数据。 PS: 我头像改不了……改完后提交还是原样,Chrome 46 + 福州联通
回复
2015-08-27 17:16:30 6
|
amysql |
那估计这个函数是调用了系统某些组件,在安全模式下被限制了。 amh前端有缓存,头像被缓存了吧,过些时间会自动更新。
回复
2015-08-27 17:40:05 7
|
zsx |
那请麻烦查一下吧,这个函数是PHP 5.1.2后默认打开的函数 http://php.net/manual/zh/function.simplexml-load-file.php
回复
2015-08-27 17:42:00 8
|
amysql |
引用: 不是函数开启的问题,是在AMH的安全模式下限制了。 可以切换兼容模式, 或用你上面的simplexml_load_string方案处理(推荐)。
回复
2015-09-01 12:49:39 9
|
zsx |
我知道是在amh的安全模式下被限制了……所以请麻烦查一下相关内容 因为这个函数实在是太常见了,我们无法保证第三方主题或插件不使用这个函数,以致再在这个函数上跌倒。 https://github.com/search?l=php&q=simplexml_load_file&type=Code&utf8=%E2%9C%93
回复
2015-09-01 12:53:07 10
|