带有Larvel的Quickbooks桌面“ QuickBooks_Loader :: load():需要打开失败”

问题描述 投票:0回答:1

我正在尝试在Laravel 6项目中实现consolibyte / quickbooks-php。如果我从控制器调用Queue操作,它将很好地工作。但是现在我想与Laravel工作异步进行。那就是我得到错误的地方:

我收到此错误:

 QuickBooks_Loader::load(): Failed opening required '/var/www/html/buyforme/b4m-aportal-v2/vendor/consolibyte/quickbooks/QuickBooks/Driver/.php' (include_path='.:/usr/share/php:/var/www/html/buyforme/b4m-aportal-v2/vendor/consolibyte/quickbooks')

它所指的这一特定行在Loader.php中:

if (QUICKBOOKS_LOADER_REQUIREONCE)
{
    require_once QUICKBOOKS_BASEDIR . $file;
}

我登录了QUICKBOOKS_BASEDIR . $file,它创建的路径正确,并且文件存在于此。权限也有效。

工作:AddInventoryIntoQB类实现ShouldQueue{使用Dispatchable,InteractsWithQueue,Queueable,SerializesModels;

/**
 * Item object.
 */
protected $item;
/**
 * @var LaravelQbd
 */
protected $QBD;


/**
 * Create a new job instance.
 *
 * @param Item $item
 */
public function __construct(Item $item)
{
    $this->QBD  = new LaravelQbd;
    $this->item = $item;
}

/**
 * Execute the job.
 *
 * @return void
 */
public function handle()
{
    $this->QBD->enqueue(QUICKBOOKS_ADD_INVENTORYITEM, $this->item);
}

LaravelQbd:

 /**
 * User Configuration File Array
 */
protected $dsn;

protected $config;

protected $map = [];

public function __construct()
{
    $this->config = config('quickbooks');

    $this->dsn    = $this->config['qb_dsn'];
}

public function enqueue($action, $object, $priority = 0, $extra = null, $user = null)
{
    $Queue = new \QuickBooks_WebConnector_Queue($this->dsn);

    return $Queue->enqueue($action, $object, $priority, $extra, $user);
}

仅当我不将其作为作业运行时,它才有效。我在做什么错?

quickbooks laravel-6.2
1个回答
0
投票

此错误的最可能原因:

[QuickBooks_Loader :: load():无法打开所需的'/var/www/html/buyforme/b4m-aportal-v2/vendor/consolibyte/quickbooks/QuickBooks/Driver/.php'

是格式错误或为空的dsn连接字符串。也就是说,代码正在寻找数据库驱动程序,并且您指定使用的数据库驱动程序不存在

在此代码中:

public function __construct()
{
    $this->config = config('quickbooks');

    $this->dsn    = $this->config['qb_dsn'];
}

您是:

  • 您是否100%确定qb_dsn甚至设置为一个值?
  • 您是否100%确定将其设置为有效的DSN数据库连接字符串?
  • 字符串中是否有任何字符需要URL编码,实际上URL是否正确编码?

您是否可以粘贴dsn字符串(密码已屏蔽/删除)?

© www.soinside.com 2019 - 2024. All rights reserved.