Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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_Constants - Fatal编程技术网

我的代码不读取PHP中定义的常量

我的代码不读取PHP中定义的常量,php,constants,Php,Constants,大家好 我有一个PHP项目,分为管理部分和客户端部分 客户端ecd工作得非常好。但是我无法访问我的管理部分,它会显示错误信息 致命错误:在第30行的E:\wamp\www\dfms\admin\index.php中找不到类“ClsBase” 更新 第28行是$base_obj=new ClsBase() 更新1 第14行:包含一次(ADMIN_CLASS_DIR.“clsadmuser.php”) 但是我已经在我的adminconfig.php中定义了所有常量,并且我正在使用该常量给出该文件的路

大家好 我有一个PHP项目,分为管理部分和客户端部分

客户端ecd工作得非常好。但是我无法访问我的管理部分,它会显示错误信息

致命错误:在第30行的E:\wamp\www\dfms\admin\index.php中找不到类“ClsBase”

更新

第28行是
$base_obj=new ClsBase()

更新1

第14行:包含一次(ADMIN_CLASS_DIR.“clsadmuser.php”)

但是我已经在我的
adminconfig.php
中定义了所有常量,并且我正在使用该常量给出该文件的路径,以及该文件在所需文件夹中的路径


您能帮我解决什么问题吗?

看起来您希望设置一个常量
ADMIN\u CLASS\u DIR
,但实际情况并非如此。PHP将发出通知,然后假设常量是字符串文字。你在哪里定义这个常数?您需要在脚本中包含该代码。

看起来您在到达使用该常量的代码块之前没有定义该常量

不过你应该得到一个通知:

Notice:  Use of undefined constant ADMIN_CLASS_DIR - assumed 'ADMIN_CLASS_DIR'
这表示PHP将假定它是一个字符串。并以这种方式对待它

免责声明/主题外:


PHP真的有一些奇怪的问题

如果看不到代码,很难说。有两个可能的问题

  • ADMIN\u CLASS\u DIR
    未设置,因此PHP将发出
    通知
    并默认为
    ADMIN\u CLASS\u DIR
    。您的代码如下所示:

     include_once(ADMIN_CLASS_DIR . 'ClsAdminUser.php');
    
    要修复它,只需定义目录:

     if (!defined('ADMIN_CLASS_DIR')) {
         define('ADMIN_CLASS_DIR', 'path/to/dir');
     }
    
  • 您试图在字符串文本中使用它:

    include_once('ADMIN_CLASS_DIR/ClsAdminUser.php');
    
    PHP中的常量不是这样工作的。它们仅在字符串外部解析。因此,您可以选择:

    include_once(ADMIN_CLASS_DIR . '/ClsAdminUser.php');
    
    或者,如果需要将常量定义为字符串,也可以这样做:

    include_once(constant('ADMIN_CLASS_USER') . '/ClsAdminUser.php');
    
  • 要判断是否定义了常数,请使用函数。如果定义了常量,它将返回
    true


    如果你想要更好的帮助,发布一些代码

    你能把密码寄出去吗?如果打印常量,会显示什么?因此登录文件位于E:\wamp\www\dfms\admin\login.php以外的其他位置。。。请发布调用该文件的PHP代码。如果没有设置常量,它只会打印我“ADMIN\u CLASS\u DIR”,这正是您将得到的结果。如果常量不可用,PHP会假定它是字符串。但是你应该得到一个通知(/警告不知道是哪一个)。我喜欢这些用户害怕把他们的代码显示出来。伙计们,我们需要密码或者我们该怎么解决?猜猜看?另外,错误在第30行,您发布了第28/14行?好的,我能猜到第30行是什么,但是呢!没有人会偷你的密码!这是我面临这个问题的管理部分,相反,我的客户端部分(前端)工作得很好,在其他机器上没有这样的错误。最有可能的是,
    include\u路径
    在其他机器上是不同的。它只打印我“admin\u CLASS\u DIR”你能显示代码吗?我想你没有设置你的常数/在你尝试使用它的地方不可用。我已经在我得到错误的地方发布了代码行,请查看update@OmThe:如警告所示,login.php第14行的代码是什么(在第14行的E:\wamp\www\dfms\admin\login.php中)?你发布的代码与问题没有直接关系…@ircmaxell它的主要问题是它在上找不到类文件,但我在所需的位置有这些文件location@OMT:张贴第14行,这是警告告诉您问题所在的位置。更好的办法是,将
    include_once
    更改为
    require_once
    ,因为您需要它继续(但仍要发布行)。我的WAMP设置中有问题吗?同样的代码在我办公室的另一台机器上运行