gpt4 book ai didi

PHP 页面显示在 ubuntu 上,而不是在 Windows 7 上

转载 作者:可可西里 更新时间:2023-10-31 22:51:28 26 4
gpt4 key购买 nike

我们继承了一个在 Ubuntu 上运行良好的 PHP 页面,但是将源代码转储到运行使用 PHP 5.4 的 XAMMP 或使用 PHP 5.3 的 WAMP 的 Windows 7 系统上的显示器上。

转储发生的点似乎是在它试图解析“->”(对象属性)字符组合时。当我将其更改为“[]”以作为数组元素访问时,它会通过它,但随后会将源代码转储到出现在“=>”(映射)字符组合之后的显示器上。注释掉是行不通的,只有删除整行才能让它过去。

最后,当它只是打印出带有“<”和“>”符号的 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 确实有效,显示 WAMP 服务器的 PHP 版本为 5.3.13

我尝试更改 short-open-tag 但没有任何区别。

该产品是由一个外包团队为我们编写的,它似乎是基于某种框架。但是我在谷歌上找不到任何对任何类名的引用,所以也许他们在内部编写了整个东西。

查看 apache 日志,实际错误发生在这一行:

$_SESSION['admin_gid'] = Membership::getGroup($rUser['id']);

错误信息在哪里:

Membership' not found

Membership 是一个稍后在同一文件中声明的类,该类在上面显示的点上被转储到显示器上,因此出于某种原因,PHP 解析器无法理解它正在从该点读取 PHP 代码。

最佳答案

I tried changing the short-open-tag but it made no difference.

在这种情况下,您可以编写一个小脚本并运行它,看看它是否有效。尝试短标签和以下方法。请记住,如果您弄乱了 php.ini,您将不得不重新启动服务器。最好通过右键单击任务栏上的服务器图标来更改设置。这可能是由于 php short tags .尝试启用和禁用并运行脚本。同时更改以下脚本,看看它对您更改后的设置有何影响。

例如:

<?php
echo "hi";
// phpinfo(); <-- preferred if you can
?>

然后您可以查看您的服务器是否按预期工作。如果是 O/P hi,你可以试试你的大代码看看。

顺便说一句,您提供的代码似乎没有错误。

关于PHP 页面显示在 ubuntu 上,而不是在 Windows 7 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14459211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com