Класс не найден, если он существует в плагине для Mautic. Работает локально, но не на промежуточном сервере

Редактировать:

Возникла странная проблема, из-за которой файл API был переименован со строчной буквой «b» на сервере, поэтому класс не был найден.


Оригинал ниже

Я сделал плагин для mautic, чтобы проверять электронную почту на наличие сохраненных контактов в mautic с помощью NeverBounce API. У меня есть класс интеграции, который получает все последние непроверенные контакты и отправляет их в API, плагин отлично работает локально, однако при установке плагина в промежуточной версии и попытке запустить команду он не может найти класс NeverBounceApi.

  [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
{
    ...
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
186
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте очистить кеш вручную, после того как откройте интерфейс командной строки на своем сервере и попробуйте запустить:

composer dump-autoload

Возможно, у вас проблема с кешем или с загрузкой класса композитором

Я пробовал это, но все еще не могу найти класс

Rafty 11.06.2018 11:48
Ответ принят как подходящий

Возникла странная проблема, из-за которой файл API был переименован со строчной буквой «b» на сервере, поэтому класс не был найден.

Другие вопросы по теме