Php 使用CodeIgniter的Composer(Facebook Ads SDK)设置

Php 使用CodeIgniter的Composer(Facebook Ads SDK)设置,php,facebook,codeigniter,sdk,composer-php,Php,Facebook,Codeigniter,Sdk,Composer Php,我有一个CodeIgniter应用程序。我一直在尝试将其设置为与Facebook ADS SDK()配合使用 我想在我的控制器中使用一条简单的线路,如: use FacebookAds\Object\CustomAudience; use FacebookAds\Object\Fields\CustomAudienceFields; use FacebookAds\Object\Values\CustomAudienceSubtypes; $audience = new CustomAudie

我有一个CodeIgniter应用程序。我一直在尝试将其设置为与Facebook ADS SDK()配合使用

我想在我的控制器中使用一条简单的线路,如:

use FacebookAds\Object\CustomAudience;
use FacebookAds\Object\Fields\CustomAudienceFields;
use FacebookAds\Object\Values\CustomAudienceSubtypes;

$audience = new CustomAudience(null, 'act_123123');
我已经创建了composer.json文件:

{
    "require": {
        "facebook/php-ads-sdk": "2.8.*"
    }
}
我通过了命令

php composer.phar install --no-dev
一切都很顺利。它用外部facebook文件夹安装了我autoload.php

现在,当涉及到我需要让它与CodeIgniter一起工作的部分时,我经常会出错

我尝试了两种不同的方法: 首先是将其包含在我的index.php中,如下所示:

include_once 'application/vendor/autoload.php';
require_once BASEPATH.'core/CodeIgniter.php';
但是,由于没有加载位于application/core文件夹中的类,我遇到了错误(Back_Controller扩展了CI_Controller,我在我的every Controller中使用Back_Controller,我也有我的_模型和Front_Controller)

第二条: 使用CodeIgniter的功能与Composer一起使用自动加载器。因此,我在配置中进行了更改:

$config['composer_autoload'] = TRUE;
两种方法都返回相同的错误:

“致命错误:在第4行的/public_html/application/controllers/admin/Shops.php中找不到类'Back_Controller'

警告:include():open_basedir限制生效。 文件(application/errors/html/error_php.php)不在允许的范围内 第269行/public_html/system/core/Exceptions.php中的路径:()”

如何设置它,使Facebook SDK能够与CodeIgniter协同工作? 任何帮助都将不胜感激。多谢各位

我认为其中一个解决方案是向composer.json添加“autoload”,这样它就可以加载我的核心类,但我不知道该怎么做。我试过:

"autoload": {
    "psr-4": {
        "Back_Controller\\":"core/"
    }
}
请尝试以下操作:

包括主Api文件

include APPPATH.'vendor/wherever_your_sdk_is/FacebookAds/Api.php';
然后执行以下操作。。。根据文件

use FacebookAds\Api;

// Initialize a new Session and instanciate an Api object
Api::init($app_id, $app_secret, $access_token);

// The Api object is now available trough singleton
$api = Api::instance();
我明白了。 我刚刚在composer.json中添加了“autoload”来自动加载我的核心文件,现在我尝试过的两种解决方案都可以工作了

"autoload": {
    "psr-4": {
        "":"core/"
    }
}

我包含了Api.php文件,并试图在控制器的构造函数上初始化Api。然而,它只是给了我另一个例外。类型:错误消息:找不到类“FacebookAds\Session”