2

我在 Windows 7 上有一个 WAMP 服务器。

我有一个像这样的 php 代码:

<html>
<head>
<script>
 var myvar;
 <?php include "myotherphp.php" ?> <!-- this put single line, like myvar="error"; or myvar="ok"; -->
</script>
<body>
...
<script>
if (myvar === "error") {
... do something ...
}
</script>
<body>

并且 myotherphp.php 的代码进行一些计算并执行类似...

<?php
...
echo 'myvar="error";
?>

myotherphp.php 有很多行代码,但是......当我这样做时,就像以前在 IIS 上一样 - 没有问题,而且我没有遇到任何异常,但是我在代码中自动插入了烦人的代码:

SCREAM: Error suppression ignored for
Notice: Undefined index: ...

这是不需要的代码。1.有没有不放代码的选项(这更烦人,它在我的脚本上产生其他错误,因为由于该代码,我的html没有正确编译。2.我想把整个代码放在这里(成千上万行,包括其他 php) ,但我需要一个概念来正确编译我的代码。

我找到了 phplint http://www.icosaedro.it/phplint/phplint-on-line.html,但我不知道这是否对 apache 有好处,以及不在线的 phplint。因为像这样的行:

required_once __DIR__ . "/mythirdphp.php";

永远不会编译(由于一些安全问题)。它不像 jslint.com(我认为它更好,更容易理解。我在 javascript 上放了很多行,并设法在 jslint 上半编译它们而没有错误或警告......)

我需要了解这个 lint 问题和任何错误代码,并且将获得任何帮助。需要跨平台编译。

如果有其他工具 - 让我知道。

谢谢 :)

4

1 回答 1

1

未定义的索引错误是这样的错误 PHP 代码的结果(只是一个例子,不是可能原因的完整列表)

$x = $_POST['some_variable']

但是 'some_variable' 是可选的,在这种情况下还没有传递给 POST 数组中的脚本。

正确的解决方案是通过在使用变量之前测试变量是否存在来更正代码。

$x = array_key_exists('some_variable'] ? $_POST['some_variable'] : '';

或者,如果您有 1000 行代码要修复,您可以通过添加来关闭错误报告

error_reporting(0);

到包含所有错误代码的脚本顶部。这是一个肮脏的解决方案,但可能是您唯一的选择。

于 2013-06-13T11:20:00.180 回答