Php 使用CodeIgniter的Composer(Facebook Ads SDK)设置
我有一个CodeIgniter应用程序。我一直在尝试将其设置为与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
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”