移动主机,出现错误 PHP 注意:使用未定义的常量



我刚刚搬到新主机在这个新主机中,即使使用这个简单的 php 文件,我也总是得到error_log:

<?php define(Y,120); ?>

这是error_log内容:

[09-Apr-2015 18:42:09 UTC] PHP Notice: Use of undefined constant Y -
assumed 'Y' in /home/username/public_html/test.php on line 1

我可以像这样添加单引号包裹 Y 来修复它

<?php define('Y',120); ?>

但是有很多这样的代码,如果我不需要更改文件会更好,但只需更改所需的托管,它实际上是什么?是因为使用Litespeed吗?

在旧主机中有 CGI-FCGI 信息http://freakimage.com/images/726cgi_fcgi.jpg

在新托管中使用 litespeedhttp://freakimage.com/images/118litespeed.jpg

这是

错误的

<?php define(Y,120); ?>

define() 的第一个参数是字符串

因此应该是

<?php define('Y',120); ?>

之所以经常看到它没有引号,是因为人们已经关闭了警告,而PHP太宽容了。在任何情况下,在定义常量之前不带引号都是错误的。

当然,您可以使用 error_reporting() 禁用E_NOTICE错误,但这是不好的做法。(因为即使是严重的错误有时也被PHP认为是通知)。

最新更新