关于使用require_once包含文件的问题

时间:2011-05-16 17:59:12

标签: php require-once

我已下载此API

如果你去lib / Paypal / Profile / Handler / Array.php,你会发现这一行:

require_once 'PayPal.php';

由于PayPal.php文件位于lib /文件夹中,我希望这样:

require_once '../../../../PayPal.php'

那么......在哪里设置什么是API的“根”文件夹?

注意:我的问题有一个原因:我想知道为什么我会收到这样的错误:

  

警告:   require_once(PayPal.php):   无法打开流:没有这样的文件或   目录   /home/me/app1/plugins/mbpPlatformFrontendPlugin/lib/paypal/PayPal/Profile/Handler/Array.php   第9行

此致

哈维

4 个答案:

答案 0 :(得分:2)

当您运行内置安装程序(/install.php)时,它会添加代码以在此处设置include_path

install.php[130-135]

$code = "<?php\n" .
    "//*******************************************\n" .
    "// AUTO-GENERATED include for PayPal PHP SDK\n" .
    "// Created by install.php on $stamp\n" .
    "//*******************************************\n\n" .
    "set_include_path('$sdk_dir' . DIRECTORY_SEPARATOR . '" . $libdir . "' . PATH_SEPARATOR . get_include_path());\n";

这就是README.html文件告诉您运行包含的安装程序以便使用示例的原因。

答案 1 :(得分:1)

试着找到这个:

Set Include Path

答案 2 :(得分:0)

PHP具有所谓的include_path,它指定了默认查找要包含/要求的文件的位置。您可以使用set_include_path()在php.ini或代码中设置它。

答案 3 :(得分:0)

我猜测Array.php文件本身包含在另一个文件中,从其他地方运行(可能是根目录)。

当你包含(或要求)另一个php文件时,它将使用与包含它的脚本相同的路径执行(它可以包含在内,因此可以在另一个脚本的路径中执行)。 / p>