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

时间:2015-04-10 22:37:00

标签: php undefined constants host

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

<?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

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

1 个答案:

答案 0 :(得分:4)

这是错误的

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

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

因此它应该是

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

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

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