Я пытаюсь установить Symfony через композитор на Windows 7 с помощью команды
$ composer create-project symfony/framework-standard-edition www1
И я получаю ошибку
[ErrorException]
Use of undefined constant STDIN - assumed 'STDIN'
Что мне нужно сделать, чтобы решить эту проблему?
PS Это полный журнал:
C:\WebServers\home\asd>composer create-project symfony/framework-standard-edition www1
Warning: Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI
Installing symfony/framework-standard-edition (v2.6.4)
- Installing symfony/framework-standard-edition (v2.6.4)
Loading from cache
Created project in www1
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
- Installing doctrine/lexer (v1.0.1)
Loading from cache
- Installing doctrine/annotations (v1.2.3)
Loading from cache
- Installing twig/twig (v1.18.0)
Loading from cache
- Installing psr/log (1.0.0)
Loading from cache
- Installing doctrine/inflector (v1.0.1)
Loading from cache
- Installing doctrine/collections (v1.2)
Loading from cache
- Installing doctrine/cache (v1.4.0)
Loading from cache
- Installing doctrine/common (v2.4.2)
Loading from cache
- Installing symfony/symfony (v2.6.4)
Loading from cache
- Installing jdorn/sql-formatter (v1.2.17)
Loading from cache
- Installing doctrine/doctrine-cache-bundle (v1.0.1)
Loading from cache
- Installing doctrine/dbal (v2.4.4)
Loading from cache
- Installing doctrine/doctrine-bundle (v1.3.0)
Loading from cache
- Installing doctrine/orm (v2.4.7)
Loading from cache
- Installing incenteev/composer-parameter-handler (v2.1.0)
Loading from cache
- Installing sensiolabs/security-checker (v2.0.1)
Loading from cache
- Installing sensio/distribution-bundle (v3.0.16)
Loading from cache
- Installing sensio/framework-extra-bundle (v3.0.4)
Loading from cache
- Installing kriswallsmith/assetic (v1.2.1)
Loading from cache
- Installing symfony/assetic-bundle (v2.6.1)
Loading from cache
- Installing monolog/monolog (1.12.0)
Loading from cache
- Installing symfony/monolog-bundle (v2.7.1)
Loading from cache
- Installing swiftmailer/swiftmailer (v5.3.1)
Loading from cache
- Installing symfony/swiftmailer-bundle (v2.3.8)
Loading from cache
- Installing twig/extensions (v1.2.0)
Loading from cache
- Installing sensio/generator-bundle (v2.5.1)
Loading from cache
kriswallsmith/assetic suggests installing leafo/lessphp (Assetic provides the integration with the lessphp LESS compiler)
kriswallsmith/assetic suggests installing leafo/scssphp (Assetic provides the integration with the scssphp SCSS compiler)
kriswallsmith/assetic suggests installing leafo/scssphp-compass (Assetic provides the integration with the SCSS compass plugin)
kriswallsmith/assetic suggests installing patchwork/jsqueeze (Assetic provides the integration with the JSqueeze JavaScript compressor)
kriswallsmith/assetic suggests installing ptachoire/cssembed (Assetic provides the integration with phpcssembed to embed data uris)
symfony/assetic-bundle suggests installing kriswallsmith/spork (to be able to dump assets in parallel)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing raven/raven (Allow sending log messages to a Sentry server)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing videlalvaro/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
Generating autoload files
Would you like to install Acme demo bundle? [y/N][ErrorException]
Use of undefined constant STDIN - assumed 'STDIN'create-project [-s|--stability="..."] [--prefer-source] [--prefer-dist] [--repository-url="..."] [--dev] [--no-dev] [--no-plugins] [--no-cus
tom-installers] [--no-scripts] [--no-progress] [--keep-vcs] [--no-install] [--ignore-platform-reqs] [package] [directory] [version]
Также в полученном приложении было 3 пустых файла в папке «web / bundles», где должны быть папки пакетов с файлами css и изображениями. Из-за этого в браузере не было изображений на странице «web / app_dev.php». Затем я выполнил команду
php app/console assets:install web
и в «web / bundles» появились изображения и css-файлы, а затем изображения появились на странице «web / app_dev.php», поэтому они отображаются правильно.
Эта ошибка может появиться, потому что ваш php установлен CGI binary
режим, не CLI
, Обходной путь для этого может быть в верхней части вашего AppKernel.php
файл следующей строки:
define('STDIN',fopen("php://stdin","r"));
Я обнаружил, что запуск композитора в неинтерактивном режиме (composer -n update
) может помочь, если решение по объявлению STDIN вручную нецелесообразно для реализации.
Возможно, вам придется удалить папки поставщика, которые генерируют приглашения, или использовать --prefer-source
например, но это другая история.