在没有作曲家的情况下包含外部库的问题

Problems to include external library without composer

我已经下载了一个外部 Php 库,必须使用它 API。

该库不符合 psr-0 和 psr-4 标准,因此无法将其作为服务加载,也无法使用自动加载器加载。

然后我被迫加载那个库,因为它已经完成了一生。包含 ('file.php').

问题是这样,加载文件失败,不知道是什么原因...

我要上传的文件所在路径如下:'src/Service/Libraries/PapApi.php'

这就是我正在做的事情:

<?php

namespace App\Service\Apiclient;

include_once('../Libraries/PapApi.php');

class PostAffiliateService
{

    private $session;

    private $user       = 'user@';
    private $pass       = 'pass@';
    private $baseUrl    = 'http://host.postaffiliatepro.com/scripts/server.php';

    public function __construct() {

        $this->session = new \Pap_Api_Session($this->baseUrl);

        if ($this->session->login($this->user,$this->pass)) {
            throw new \Exception('Error to login PostAffiliatePro : ' .$this->session->getMessage());
        }
    }
}

当 运行 通过控制台时:php bin/console cache:clear

它returns以下错误:

In FileLoader.php line 166 Warning: include_once(../Libraries/PapApi.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/mercurio/config/services.yaml (which is loaded in resource "/Applications/MAMP/htdocs/mercurio/config/services.yaml"). In PostAffiliateService.php line 5: Warning: include_once(../Libraries/PapApi.php): failed to open stream: No such file or directory

您必须使用您想要包含的文件的绝对路径或在 include_once 中使用 DIR。这是因为您 运行 脚本不是来自目录,您的 include 期望它是。