Я работаю на веб-сайте Symfony 2, и у меня проблема только в производстве (кеш чист).
Я использую API-интерфейс Payplug для PHP: я поместил файлы в папку поставщика, я использую пространство имен для классов, которые я использую, и все в порядке в моей локальной среде разработки.
Попав на прод-сервер, я получаю ошибку:
"Attempted to load class "Payplug" from namespace "Payplug". Did you forget a "use" statement for another namespace?"
Я не понимаю, почему возникает ошибка пространства имен только на prod-сервере ...
КОНТРОЛЛЕР:
<?php
namespace KpmBundle\Controller;
use KpmBundle\Entity\Marche;
use KpmBundle\Entity\Marcheur;
use KpmBundle\Entity\Commande;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Payplug\Payplug as Payplug;
use Payplug\Payment as Payment;
class MarcheController extends Controller
{
//code
Payplug::setSecretKey(...);
//more code
}
КЛАСС
<?php
namespace Payplug;
/**
* The Payment DAO simplifies the access to most useful methods
**/
class Payment
{
Мне действительно интересно, почему все работает нормально на моем локальном сервере разработки (app_dev.php и app.php), но не работает на сервере prod ...
Любая идея будет оценена,
С уважением
РЕДАКТИРОВАТЬФайлы, установленные через композитор
к сожалению, у меня нет доступа по ssh, только передача по ftp ... какой файл можно было изменить?
Когда вы выполняли перенос, вы перенесли весь каталог поставщиков или только файлы PayPlug? Вы должны убедиться, что все, что написано в разделе vendor / composer, синхронизировано между производством и разработкой.
Я нажал только на плагин PayPlug, и я вижу разные размеры файлов в разделе vendor / composer ... вы могли решить мою проблему!
@cerad Хорошая работа, мой поставщик / композитор не синхронизировался с разработчиком. Спасибо






Я использовал FTP и перенес только каталог vendor\payplug на удаленный сервер; в результате vendor\composer не синхронизировался между локальным и удаленным сервером.
перенос локального vendor\composer решил проблему
Спасибо @cerad
Я полагаю, вы могли бы попробовать "composer dumpautoload" на своем производственном сервере, но, судя по тому, что вы описали, это, вероятно, не поможет.