Class 当 Mautic 插件中存在时未找到。在本地工作但不在登台服务器上工作
Class not found when it does exist in plugin for Mautic. Works locally but not on staging server
编辑:
有一个奇怪的问题导致 API 文件在服务器上被重命名为小写 'b',这就是找不到 class 的原因。
以下为原文
我为 mautic 制作了一个插件,用于使用 NeverBounce API 检查 mautic 中存储的联系人的电子邮件。我有一个集成 class,它获取所有最新的未经检查的联系人并将它们发送到 API,该插件在本地工作得很好但是当在暂存版本上安装插件并尝试 运行 它在找到 NeverBounceApi 时失败的命令 class.
[Symfony\Component\Debug\Exception\ClassNotFoundException]
Attempted to load class "NeverBounceApi" from namespace "MauticPlugin\THNeverBounceBundle\Api".
Did you forget a "use" statement for another namespace?
我已经清除了缓存,运行 composer dump-autoload 并检查了插件文件的权限,一切似乎都井井有条。文件夹结构如下:
/PluginBundle
..
--/Integrations
----/NeverBounceIntegration.php
--/Api
----/NeverBounceApi.php
..
NeverBounceIntegration.php
<?php
namespace MauticPlugin\THNeverBounceBundle\Integration;
....
use MauticPlugin\THNeverBounceBundle\Api\NeverBounceApi;
class NeverBounceIntegration extends AbstractIntegration
{
....
public function getApiHelper()
{
if (empty($this->helper)) {
$this->helper = new NeverBounceApi($this);
}
return $this->helper;
}
....
public function checkContacts()
{
...
// it fails when calling the Api class
$response = $this->getApiHelper()->createJob($list);
}
}
NeverBounceApi.php
<?php
namespace MauticPlugin\THNeverBounceBundle\Api;
use Mautic\PluginBundle\Integration\AbstractIntegration;
...
class NeverBounceApi
{
...
}
尝试手动清除缓存,打开 CLI 进入您的服务器并尝试启动:
composer dump-autoload
可能您在缓存或加载 class by composer
时遇到问题
有一个奇怪的问题导致 API 文件在服务器上被重命名为小写字母 'b',这就是找不到 class 的原因。
编辑:
有一个奇怪的问题导致 API 文件在服务器上被重命名为小写 'b',这就是找不到 class 的原因。
以下为原文
我为 mautic 制作了一个插件,用于使用 NeverBounce API 检查 mautic 中存储的联系人的电子邮件。我有一个集成 class,它获取所有最新的未经检查的联系人并将它们发送到 API,该插件在本地工作得很好但是当在暂存版本上安装插件并尝试 运行 它在找到 NeverBounceApi 时失败的命令 class.
[Symfony\Component\Debug\Exception\ClassNotFoundException]
Attempted to load class "NeverBounceApi" from namespace "MauticPlugin\THNeverBounceBundle\Api".
Did you forget a "use" statement for another namespace?
我已经清除了缓存,运行 composer dump-autoload 并检查了插件文件的权限,一切似乎都井井有条。文件夹结构如下:
/PluginBundle
..
--/Integrations
----/NeverBounceIntegration.php
--/Api
----/NeverBounceApi.php
..
NeverBounceIntegration.php
<?php
namespace MauticPlugin\THNeverBounceBundle\Integration;
....
use MauticPlugin\THNeverBounceBundle\Api\NeverBounceApi;
class NeverBounceIntegration extends AbstractIntegration
{
....
public function getApiHelper()
{
if (empty($this->helper)) {
$this->helper = new NeverBounceApi($this);
}
return $this->helper;
}
....
public function checkContacts()
{
...
// it fails when calling the Api class
$response = $this->getApiHelper()->createJob($list);
}
}
NeverBounceApi.php
<?php
namespace MauticPlugin\THNeverBounceBundle\Api;
use Mautic\PluginBundle\Integration\AbstractIntegration;
...
class NeverBounceApi
{
...
}
尝试手动清除缓存,打开 CLI 进入您的服务器并尝试启动:
composer dump-autoload
可能您在缓存或加载 class by composer
时遇到问题有一个奇怪的问题导致 API 文件在服务器上被重命名为小写字母 'b',这就是找不到 class 的原因。