Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP代码中的数百条通知和警告_Php - Fatal编程技术网

PHP代码中的数百条通知和警告

PHP代码中的数百条通知和警告,php,Php,我继承了一些遗留代码,如果我在其中启用: error_reporting(E_ALL); 我在我们的网站上收到成百上千条信息,它们都像: Warning: include_once() [function.include]: Failed opening '../inc/variables.php' for inclusion (include_path='.:/usr/local/lib/php') in /var/www/html/xyz/xyz/xyz/payment.class.ph

我继承了一些遗留代码,如果我在其中启用:

error_reporting(E_ALL); 
我在我们的网站上收到成百上千条信息,它们都像:

Warning: include_once() [function.include]: Failed opening '../inc/variables.php' for inclusion (include_path='.:/usr/local/lib/php') in /var/www/html/xyz/xyz/xyz/payment.class.php on line 9

Notice: Undefined index: validateArrayName in /var/www/html/xyz/xyz/xyz/payment.class.php on line 3417

Notice: Undefined variable: objInstructor in /var/www/html/xyz/xyz/xyz/classes/metatags_class.php on line 44
这是件坏事吗?该网站在其他方面运作良好,但我想知道它是否

(a) a really bad thing and 
(b) even if not, is it worthwhile to go fix all these issues?
如果不是这样的话,这个网站可以正常工作

嗯,失败的
include_once()
不会破坏任何东西吗?在这种情况下(即,您没有使用
。/inc/variables.php
)中的任何变量、全局变量和函数),只需删除该行即可


您可能可以忽略通知(“丑陋”代码),但应注意警告(缺少功能)。对于遗留代码,始终平衡工作和收益。如果它有效(并且你愿意接受潜在的安全漏洞),就让它运行吧。。。但随着时间的推移,它会逐渐消失。如果您没有信心,请重写。

尝试查找文件../inc/variables.php的位置(它不在/var/www/html/xyz/xyz/xyz/inc/variables.php中应该在的位置),因为文件/var/www/html/xyz/xyz/xyz/payment.class.php试图包含它。我有一种预感,这个文件包含您在警告中看到的所有变量的定义(初始化)

如果在包含了正确的variables.php文件之后,您得到了相同的“Undefined variable”警告,我认为没有必要修改“legacy code”来定义所有变量


看看进展如何。

你确定你的网站工作正常吗?您是否有一个良好的单元测试套件,定期运行以确保绝对可靠

失败的文件包含几乎总是错误(或真正可怕的编码实践)。如果你的电视机曾经做过无法解释或奇怪的事情,这些问题很可能就是原因。如果它真的有这么多问题,你确定用干净、一致、仔细的风格重写它不会更快吗


一般来说,如果您打算继续开发这个代码库,您应该修复这些问题。如果它是一个孤立的项目,或者您希望从头开始重写,不要麻烦。

有很多东西您无法从应用程序的UI进行测试。发生在引擎盖下的事情。除非您的应用程序经过完全的单元测试或功能测试,否则您可能无法通过单击自己的应用程序来了解整个情况

你一定要调查一下这些警告。开发人员可能没有为了好玩而包含
variables.php
,因此您应该仔细检查
payment.php
是否按预期工作

通知不那么严重,但它们仍然是代码草率的标志。通常,它们并不难修复,所以除非你的预算非常紧张,否则就修复它们


您还可能希望将
错误报告
E\u ALL
更改为
-1
。这将启用所有erros plus
E_STRICT
错误以及在以后的版本中可能添加到PHP中的任何内容。

是的,尤其是第一个版本。如果你能解决它,它也可能解决其他问题。我的意思是,找不到一个文件总是不好的,不是吗?事实上,这个网站很有效,而且我认为在其他地方它被正确地包含了。。。(这不是最好的组织方式,我很快就会解决)