Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter 3编写器和供应商目录_Php_Codeigniter_Php Amqplib - Fatal编程技术网

Php Codeigniter 3编写器和供应商目录

Php Codeigniter 3编写器和供应商目录,php,codeigniter,php-amqplib,Php,Codeigniter,Php Amqplib,我已经安装了codeigniter 3.1.8,并使用composer安装了此库: composer需要php-amqplib/php-amqplib 这已经创建了一个目录供应商 我已经看过了关于如何使用图书馆的公认答案 但这是我在vendor中的目录结构 第二 和php amqplib内部 和php amqplib内部 如果我查看index.php,我发现已经定义了fcpath // Path to the front controller (this file) directory d

我已经安装了codeigniter 3.1.8,并使用composer安装了此库:

composer需要php-amqplib/php-amqplib

这已经创建了一个目录供应商

我已经看过了关于如何使用图书馆的公认答案

但这是我在vendor中的目录结构

第二

和php amqplib内部

和php amqplib内部

如果我查看
index.php
,我发现已经定义了fcpath

// Path to the front controller (this file) directory
define('FCPATH', dirname(__FILE__).DIRECTORY_SEPARATOR);

require_once BASEPATH.'core/CodeIgniter.php';
再次定义它将导致错误。如何在控制器方法中使用php amqplib?

如果您的问题是-如何在控制器方法中使用php amqplib? 第1步: 在一开始就允许或要求autoload.php文件,但在codeigniter上通常不能这样做。因此,在配置文件中更改一行将自动要求
autoload.php
文件

CodeIgniter/application/config/config.php
find:

$config['composer\u autoload']=FALSE
$config['composer\u autoload']=TRUE

第2步: 在控制器类上,如下所示:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;

class Welcome extends CI_Controller {
   public function index()
   {
        // your business logic like this
        $msg = new AMQPMessage($msg_body);
        $ch->batch_basic_publish($msg, $exchange);
   }
}
现在更多
ref:

如果您的问题是-如何在控制器方法中使用php amqplib? 第1步: 在一开始就允许或要求autoload.php文件,但在codeigniter上通常不能这样做。因此,在配置文件中更改一行将自动要求
autoload.php
文件

CodeIgniter/application/config/config.php
find:

$config['composer\u autoload']=FALSE
$config['composer\u autoload']=TRUE

第2步: 在控制器类上,如下所示:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;

class Welcome extends CI_Controller {
   public function index()
   {
        // your business logic like this
        $msg = new AMQPMessage($msg_body);
        $ch->batch_basic_publish($msg, $exchange);
   }
}

现在更多
ref:

这将打开和关闭连接

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use PhpAmqpLib\Message\AMQPMessage;
use PhpAmqpLib\Connection\AMQPStreamConnection; 

class Welcome extends CI_Controller {

    public function index()
    {
        $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
        $channel = $connection->channel();
        $channel->queue_declare('hello', false, false, false, false);

        $msg = new AMQPMessage('Yur message goes here....');
        $channel->basic_publish($msg, '', 'hello');

        $channel->close();
        $connection->close();

        $this->load->view('welcome_message');
    }
}

这将打开和关闭连接

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

use PhpAmqpLib\Message\AMQPMessage;
use PhpAmqpLib\Connection\AMQPStreamConnection; 

class Welcome extends CI_Controller {

    public function index()
    {
        $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
        $channel = $connection->channel();
        $channel->queue_declare('hello', false, false, false, false);

        $msg = new AMQPMessage('Yur message goes here....');
        $channel->basic_publish($msg, '', 'hello');

        $channel->close();
        $connection->close();

        $this->load->view('welcome_message');
    }
}

在/application/config/config.php中更改composer\u自动加载配置,如下所示

$config['composer_autoload']='vendor/autoload.php'

在/application/config/config.php中更改composer\u自动加载配置,如下所示
$config['composer_autoload']='vendor/autoload.php'

您是否尝试过:require_once APPPATH'vendor/autoload.php';不,但我能做到。在这个答案中,我必须把供应商iside应用程序。这是指codeigniter创建的应用程序文件夹,还是应该保留在屏幕截图中的位置,以及我现在如何在控制器中访问它;不,但我能做到。在这个答案中,我必须把供应商iside应用程序。这是指codeigniter创建的应用程序文件夹,还是应该保留在屏幕截图中的位置,以及我现在如何在控制器中访问它?供应商必须在codeigniter应用程序目录中。我如何在控制器功能结束时关闭连接?@Gandalf如果您有其他问题,请分别发布-本网站设计为每页有一个问题和答案,而不是讨论线索,因此,未来的读者更容易找到他们需要的答案。供应商必须位于codeigniter应用程序目录中。我如何才能在控制器功能结束时关闭连接?@Gandalf如果您有其他问题,请单独发布-此网站设计为在每个页面上有一个问题和答案,而不是一连串的讨论,这样未来的读者更容易找到他们需要的答案。