Проблемы с Symfony2 config.php: Примечание: неопределенное свойство: stdClass :: $ vendor-dir, отсутствуют библиотеки поставщиков, как их решить?

сегодня, спустя некоторое время, я решил создать новый проект Symfony2. У меня есть композитор, установленный в /usr/local/bin/composer и он обновлен до последней версии:

 $ composer self-update You are already using composer version etc, etc... 

Затем я набрал обычную команду:

 composer create-project symfony/framework-standard-edition path/to/htdocs/PDFMonitor 

Все пошло хорошо:

 ... Clearing the cache for the dev environment with debug true Trying to install assets as symbolic links. Installing assets for Symfony\Bundle\FrameworkBundle into web/bundles/framework The assets were installed using symbolic links. Installing assets for Sensio\Bundle\DistributionBundle into web/bundles/sensiodistribution The assets were installed using symbolic links. 

Затем я открыл браузер и сделал запрос к config.php symfony, чтобы убедиться, что на самом деле все было гладко, но я получил эту ошибку Major Problem:

Symfony2 config.php

И это уведомление и предупреждение PHP:

 Notice: Undefined property: stdClass::$vendor-dir in /path/to/htdocs/PDFMonitor/app/SymfonyRequirements.php on line 751 Notice: Undefined property: stdClass::$vendor-dir in /path/to/htdocs/PDFMonitor/app/SymfonyRequirements.php on line 751 Warning: file_get_contents(/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Resources/skeleton/app/SymfonyRequirements.php): failed to open stream: No such file or directory in /path/to/htdocs/PDFMonitor/app/SymfonyRequirements.php on line 546 

Я не знаю, почему это происходит. Некоторое время я не использовал Symfony, но у меня никогда не было такой проблемы.

То, что я пробовал:

  • Запустите composer update composer install и composer update внутри корня проекта. Не помогло.
  • Переустановите композитор curl -s https://getcomposer/installer | php curl -s https://getcomposer/installer | php и затем:

    $ mv composer.phar / usr / local / bin

    $ rm -R / путь / to / htdocs / PDFMonitor`

    и опять:

    $ composer create-project symfony / framework-standard-edition путь / to / htdocs / PDFMonitor

    Снова проект создается, но открытие http://localhost/PDFMonitor/web/config.php дает предыдущие ошибки.

Как я уже сказал, я никогда раньше не испытывал этой проблемы.

Что мне делать, чтобы заставить symfony снова работать правильно? Почему Symfony не видит поставщиков?

Solutions Collecting From Web of "Проблемы с Symfony2 config.php: Примечание: неопределенное свойство: stdClass :: $ vendor-dir, отсутствуют библиотеки поставщиков, как их решить?"

Я нашел решение проблемы: это ошибка в Symfony 2.6, на самом деле 2.7, похоже, исправили ее.

Если кто-то еще создает проект с composer create-project symfony/framework-standard-edition ... , где версия Symfony2 по умолчанию равна 2.6 и испытывает ту же проблему, с которой я столкнулся, вот обходной путь:

Либо отредактируйте строку 406 YourProject/app/SymfonyRequirements.php и

YourProject/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Resources/skeleton/app/SymfonyRequirements.php строка 406 и заменить:

  is_dir($this->getComposerVendorDir()), 

С этим:

 is_dir(__DIR__.'/../vendor/composer'), 

Это устранит главную проблему с жалобами на поставщиков. Затем вместо этого вы удалите file_get_contents() Предупреждение.

Внутри YourProject/app/SymfonyRequirements.php и make строка 546 выглядит так:

 file_get_contents(__FILE__) === file_get_contents(__DIR__.'/../vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Resources/skeleton/app/SymfonyRequirements.php'), 

Затем откройте localhost/YourProject/web/config.php и вы снова увидите приятную страницу приветствия Symfony.

введите описание изображения здесь