转储出现的地方似乎是在尝试解析“ – >”时(对象属性)字符组合.当我将它改为“[]”作为数组元素访问时,它会超过该值,然后将源代码转储到显示在“=>”之后的显示器上(映射)字符组合.评论说出来不行,只有删除整行才能超越它.
最后,当它只是用“<”打印html和“>”标志,也会导致屏幕转储.如果我用html实体替换这些字符,源代码不再转储,但程序不显示菜单,根本不起作用.请注意,我可以通过其登录页面成功登录到应用程序,尽管即使显示“POST”和其他一些“<”和“>”用户名字段中的字符.
我试过在整个应用程序上运行unix2dos,但没有任何效果.还尝试将一个违规页面的文本转换为UTF-8,但仍然没有运气.
在回答一些提出的问题时:
工作ubuntu版本是PHP版本5.3.10-1ubuntu3.1
在Ubuntu而不是Windows中的第一个代码是这样的:
public function __construct($gid) { $this->id = $gid; return $this->retrieve(); }
id = $gid; return $this->retrieve(); }
是的,PHPInfo可以正常工作,为使用PHP 5.3.13版本的WAMP服务器显示
我尝试改变短开标签,但没有任何区别.
该产品是由外包集团为我们写的,它似乎是基于某种框架.但是,我找不到任何Google上的任何类别名称的引用,所以也许他们在内部写了整个内容.
去apache日志,实际的错误发生在这一行:
$_SESSION['admin_gid'] = Membership::getGroup($rUser['id']);
错误信息在哪里:
Membership’ not found
会员资格是一个类,它将在同一个文件中被声明在与上面显示的位置相同的文件中,因此由于某些原因,PHP解析器不了解它从该点读取PHP代码.
I tried changing the short-open-tag but it made no difference.
在这样的情况下,您可以做的是编写一个小脚本并运行它,看看它是否工作.尝试短标签和下面的方法.请记住,如果您混淆您的PHP.ini,您将不得不重新启动服务器.最好通过右键单击任务栏上的服务器图标来更改设置.可能是由于php short tags.尝试启用和禁用并运行该脚本.还可以更改以下脚本,并查看它如何影响您更改的设置.
EG:
<?PHP echo "hi"; // PHPinfo(); <-- preferred if you can ?>
然后,您可以看到您的服务器是否按照打算运行.如果它是O / P嗨,你很乐意尝试你的大代码,看看.