php:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;通知「;不同机器上的警告
我已经在一台新机器上安装了我所有的php程序,我收到了很多通知和警告 我的代码在旧机器上正常工作,没有错误 下一行(应获取记录集值)将引起通知: $ID=$rs[ID] 原因是id字段缺少引号,但对不存在的值调用$\u GET等操作也会引起注意 有人知道这是什么原因吗? 我喜欢像在我的旧机器上那样保持“简单”的编码方式,而不必为记录集或大量isset()上的引号而烦恼-有什么想法吗php:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;通知「;不同机器上的警告,php,notice,Php,Notice,我已经在一台新机器上安装了我所有的php程序,我收到了很多通知和警告 我的代码在旧机器上正常工作,没有错误 下一行(应获取记录集值)将引起通知: $ID=$rs[ID] 原因是id字段缺少引号,但对不存在的值调用$\u GET等操作也会引起注意 有人知道这是什么原因吗? 我喜欢像在我的旧机器上那样保持“简单”的编码方式,而不必为记录集或大量isset()上的引号而烦恼-有什么想法吗 谢谢听起来您的错误报告级别在不同的机器上有所不同。比较不同机器上php.ini的级别。新机器上的php安装有一个更
谢谢听起来您的错误报告级别在不同的机器上有所不同。比较不同机器上php.ini的级别。新机器上的php安装有一个更健壮的配置,可以显示注意事项,而不仅仅是错误。那很好。我永远不会在我的服务器中编写或接受引起注意的PHP脚本 这种“惰性”编码(请原谅,我想帮助您!)会带来未来的问题(代码很难阅读和调试),并间接带来安全问题(“惰性”代码通常有缺陷)。修复引发通知的所有问题。:)
如果可以的话,还可以学习一些更高级的PHP:面向对象编程、封装、信息隐藏等。。。现在的事情就是这样做的,而且比以前做得更好。旧的PHP脚本是围绕通知抑制和
register\u globals
构建的,有点像垃圾堆。听起来这两台服务器上设置了不同的值。检查您的php.ini并进行相应设置。之所以发出此通知,是因为您有一个“未定义的常量”。如果您没有在指定的字符串周围加引号,php会将其视为常量。如果没有定义,php会将其视为强函数。以以下为例:
$array = array(
'one' => 'right'
, 'two' => 'wrong'
);
define('one', 'two');
echo $array[one]; //echoes "wrong"
此外,如果您试图访问未定义的数组中的键(如上面的$array['three'];
),您将收到一条通知。PHP很好,可以为您这样做,因为其他语言会出错(或更糟)
这些通知不仅仅是为了打扰你。他们要让你知道你的代码中有一个你应该强烈考虑的问题。代码>任何想法?< /代码> -尝试编写漂亮的代码。或者正常。或者至少没有气味。你指的是什么样的安全问题?真的那么重要吗?thxWell,它不会直接带来安全问题,而是间接带来。根据我的经验,“懒惰”代码通常也是不安全的,而且总是很难调试和维护。你的意思是相应地设置,以便它总是打印任何类型的通知。你不觉得吗?Hrrm,不一定。长篇大论不应该总是被认为是一种加分,它不是长篇大论。您不应该对触发通知的PHP脚本感到满意,您应该通过删除引起通知的原因来抑制冗长。这种懒惰是PHP5之前的遗留问题,应该根除:)