在没有作曲家的情况下包含外部库的问题
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 期望它是。
我已经下载了一个外部 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 期望它是。