2016-06-24 3 views
1

После загрузки версии на сайт песочницы на общем хосте я получаю ...You have requested a non-existent service "ps_pdf.facade"... in bootstrap.php.cache... при создании PDF-файла для загрузки с psliwa/PdfBundle. Ошибка не появляется ни в dev, ни в режиме prod в локальной системе Windows.ServiceNotFoundException, но id существует

Возможно отношение:

  • composer.json закачано пройдут, composer update запустить без ошибок
  • .../src каталогов удалены и заменены через фтп
  • AppKernel.php, переработанные элементы конфигурации загружен.
  • $ php app/console cache:clear --env=prod --no-debug бежать без ошибок.
  • композитор показывает psliwa/php-pdf
  • удалить & переустановка psliwa/pdf-bundle:~1.0 нет никакой разницы

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

Edit # 2:

теперь я знаю, что текст «ps_pdf.facade» появляется в DEV система .../app/cache/prod/appProdProjectContainer.php но не в хозяине. Далее: что определяет содержимое appProdProjectContainer.php?

Edit: Вывод команды консоли:

% php app/console debug:container ps_pdf.facade 

Information for Service "ps_pdf.facade" 
======================================= 

------------------ ----------------------- 
    Option    Value 
------------------ ----------------------- 
    Service ID   ps_pdf.facade 
    Class    PHPPdf\Core\Facade 
    Tags    - 
    Scope    container 
    Public    yes 
    Synthetic   no 
    Lazy    no 
    Synchronized  no 
    Abstract   no 
    Autowired   no 
    Autowiring Types - 
    Factory Service ps_pdf.facade_builder 
    Factory Method  build 
------------------ ----------------------- 
+0

'композитор install'? –

+0

Это было обновление предыдущей установки ('.../vendor' существует и заполняется практически всеми связями, только предыдущими версиями), поэтому« композиторское обновление »было более подходящим, чем« компоновщик ». – geoB

+0

«Обновление композитора» на удаленном сервере - ужасная идея. Вы должны установить свои зависимости в своих 'composer.json' и' compose install' оттуда. Вы перезагрузили сервер/PHP-провайдер (очистили OpCache)? – qooplmao

ответ

0

Та да! Я удалил существующий кэш prod и использовал «cache: warmup -e = prod». Теперь он работает.

Смежные вопросы