在ma上使用PHP类

时间:2014-10-29 16:30:06

标签: php parse-platform

我是PHP的新手,我需要在项目中使用外部库中的一些类。

我的.php文件,SMMain.php位于我的Mac上的/Library/WebServer/Documents目录中。我把它们放在旁边的外部库中。所有这些文件都来自namespace Parse;。有些类位于名为Internal的目录中。

无论我尝试require_once,我都会收到找不到文件的错误。这就是我的尝试:

require_once('\Internal\Encodable.php');

产生此错误:

Fatal error: require_once(): Failed opening required '\Internal\Encodable.php' (include_path='.:') in /Library/WebServer/Documents/SMMain.php on line 13

接下来尝试:

require_once('/Internal/Encodable.php');

产生这个:

Fatal error: require_once(): Failed opening required '.php' (include_path='.:') in /Library/WebServer/Documents/SMMain.php on line 7

我也尝试过:

require_once(realpath($_SERVER["DOCUMENT_ROOT"]) .'/Internal/Encodable.php');

/Internal/Encodable文件没有错误,但这会产生另一个错误:

Fatal error: Class 'ParseObject' not found in /Library/WebServer/Documents/SMMain.php on line 24

ParseObject.php与我的SMMain.php一起位于根目录中。所以我试着像这样要求:

require_once(realpath($_SERVER["DOCUMENT_ROOT"]) . '/ParseObject.php');

给出了这个错误:

Fatal error: Class 'ParseObject' not found in /Library/WebServer/Documents/SMMain.php on line 24

如果我试试这个:

require_once(realpath($_SERVER["DOCUMENT_ROOT"]) . 'ParseObject.php');

错误是:

Fatal error: require_once(): Failed opening required '/Library/WebServer/DocumentsParseObject.php' (include_path='.:') in /Library/WebServer/Documents/SMMain.php on line 17

那么解决方案是什么?

1 个答案:

答案 0 :(得分:0)

如果内部目录位于服务器文档根目录下并且Encodable.php位于其中,则使用require_once($_SERVER["DOCUMENT_ROOT"] .'/Internal/Encodable.php');

您可以使用echo getcwd();查看当前工作目录的位置。

我总是这样做,当我调用我的index.php文件(它处理所有其他文件),确定,我的基本路径在哪里,并将其存储在常量中。最近,我将始终包含具有该路径的文件作为绝对路径。