-3

我正在将 php 结构迁移到新服务器上,

http://www.texility.com/上的原始测试台运行良好,我制作了相同的 mySQL 结构,并在http://www.sequility.com/的新服务器上使用相同的 php

但是正如你所看到的,PHP 中突然出现了错误。

具体来说:

注意:未定义变量:第 58 行 /home/sequilit/public_html/index.php 中的设置警告:第 58 行 /home/sequilit/public_html/index.php 中的 foreach() 提供的参数无效

警告:无法修改标头信息 - 第 100 行 /home/sequilit/public_html/index.php 中的标头(输出开始于 /home/sequilit/public_html/index.php:58)

错误:无法加载模板/home/sequilit/public_html/app/view/index.php!

我试图修复这些数组,但我对代码的理解很差,因为我没有编写它,而且对 PHP 的理解也很差,但我正在努力学习。如果我更改数组变量名称,页面会显示,但没有任何效果,因为我想其他代码需要那些原始变量名称。

我已经仔细检查过,即使没有文件,测试台上的 php 也是相同的/home/sequilit/public_html/app/view/index.php,有人能帮我指出正确的方向来解决这个问题吗?对于我在这个主题上的天真而导致的任何缺乏解释,我深表歉意。

4

1 回答 1

2

您观察到的环境差异是由于配置差异造成的。特别是在错误报告和输出缓冲方面。

您可以关闭错误报告并打开输出缓冲(4096 应该可以解决问题),但真正的问题是糟糕的代码。另请注意,第一个问题(报告错误)肯定会导致第二个问题(标头已发送)。

我会聘请开发人员或与原作者讨论解决问题。

更新

需要指出的是,第 58 行的代码index.php试图$settingsforeach循环中使用变量,但$settings此时尚未定义。你可以解决这个问题,但我的猜测是这只会产生更多E_NOTICE级别的错误。

于 2012-10-29T02:49:37.560 回答