Php 在另一个文件中使用define常量

Php 在另一个文件中使用define常量,php,constants,Php,Constants,我有一小段代码是用以前版本的PHP(不是5.3)编写的,我发现解释器捕捉到一个常量作为通知消息的交叉使用是很奇怪的,然后当该常量定义在一个与通知所报告的文件不同的文件中时,最后抛出一个致命错误。 也就是说,例如,我在文件A中定义了常量,该文件在程序启动时初始化 define('SOME_CONSTANT','something'); 在文件B.php中 require_once('A.php'); Call-function-that-uses-fileA's-SOME_CONSTANT 报

我有一小段代码是用以前版本的PHP(不是5.3)编写的,我发现解释器捕捉到一个常量作为通知消息的交叉使用是很奇怪的,然后当该常量定义在一个与通知所报告的文件不同的文件中时,最后抛出一个致命错误。 也就是说,例如,我在文件A中定义了常量,该文件在程序启动时初始化

define('SOME_CONSTANT','something');
在文件B.php中

require_once('A.php');
Call-function-that-uses-fileA's-SOME_CONSTANT
报告文件B时会显示通知消息和致命错误

致命错误大致可以描述为

require_once()[function.require]:需要打开失败

其中“…”表示一长行包含的路径,这些路径可能与当前文件B相关,也可能与当前文件B无关。我非常感谢您提供的任何帮助或建议

这是因为我使用新的PHP版本,而我的代码是用旧版本编写的吗?如何在不重新安装PHP的情况下修复这些消息

编辑

我不想重新安装PHP的唯一原因是,我不想在需要处理新项目时总是更改PHP。现在它可能是旧的,如果以后我需要使用最新版本,重新下载新版本并删除旧版本PSS怎么办

require_once(__DIR___.'/A.php');
\uuuu DIR\uuuu
给出执行文件的当前目录

我知道这是一个古老的问题,但万一有人绊倒了

不幸的是,
需要_一次('A.php')
call正在与file
B.php
相同的目录中搜索
a.php
文件。如果希望包含
A.php
文件,则需要为其提供文件的完整目录路径,或修改
php.ini
文件的
include_path
字符串,以包含包含
A.php
的父目录

如果您不想修改
php.ini
文件,那么只需给出文件的完整路径即可


@Binaek:magic变量
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu将返回
B.php
所在的完整路径,该路径将不起作用,因为a.php文件似乎不在该目录中,否则
require\u once
将按原样工作。

您应该在所需的文件上定义一个常量,如:

define("APPLICATION_NAME","my app");
然后在其他文件中使用,如下所示:

include_once 'yourfile_with_constant_value';
$value = APPLICATION_NAME;

请小心使用大写词定义常量。

不确定这是否与常量有关,请检查
文件\u是否存在('A.php')
在B.phpGiven中,错误明确表示解释器找不到文件A.php。您必须检查A.php是否是正确的包含路径。@Darcy:请检查这个问题。如果您能够解决您的问题,请将您的解决方案添加为下面的答案和/或接受其中一个答案,将您的问题标记为已解决。