【问题标题】:Question about including files with require_once关于使用 require_once 包含文件的问题
【发布时间】:2011-08-26 15:44:52
【问题描述】:

我已经下载了这个API

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

require_once 'PayPal.php';

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

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

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

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

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

问候

贾维

【问题讨论】:

    标签: php require-once


    【解决方案1】:

    当您运行内置安装程序 (/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 文件告诉您运行包含的安装程序以使用示例的原因。

    【讨论】:

      【解决方案2】:

      试着找到这个:

      Set Include Path

      【讨论】:

        【解决方案3】:

        PHP 有一个叫做include_path 的东西,它指定了它默认在哪里寻找要包含/需要的文件。您可以在您的 php.ini 中或使用 set_include_path() 在您的代码中设置它。

        【讨论】:

          【解决方案4】:

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

          当您包含(或需要)另一个 php 文件时,它将使用与包含它的脚本相同的路径执行(可能会被另一个脚本包含,因此在另一个脚本的路径中执行)。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-12-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-07-08
            • 2014-08-19
            • 2011-03-04
            • 1970-01-01
            相关资源
            最近更新 更多