php bin/console server:run
を使用してサーバーを実行すると、次のエラーが表示されます。 There are no commands defined in the "server" namespace.
php bin/console
コマンドを実行すると、次の出力が表示されます。サーバー:コマンドは表示されません。
Symfony 3.3.0-DEV (kernel: app, env: dev, debug: true)
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-e, --env=ENV The environment name [default: "dev"]
--no-debug Switches off debug mode
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
about Displays information about the current project
help Displays help for a command
list Lists commands
app
app:download-beameemail download beame emails.
app:download-businessunits download businessunits.
app:download-drivers download drivers.
app:download-fleets download fleets.
app:download-fmpositions download fm_positions.
app:download-fmtrips download fm_trips.
app:download-fmunits download fm_units.
app:download-skypositions download skytrack_positions.
app:download-skyunits download skytrack_units.
app:download-vehicles download vehicles.
assets
assets:install Installs bundles web assets under a public web directory
cache
cache:clear Clears the cache
cache:pool:clear Clears cache pools
cache:warmup Warms up an empty cache
config
config:dump-reference Dumps the default configuration for an extension
debug
debug:config Dumps the current configuration for an extension
debug:container Displays current services for an application
debug:event-dispatcher Displays configured listeners for an application
debug:router Displays current routes for an application
debug:swiftmailer [swiftmailer:debug] Displays current mailers for an application
debug:translation Displays translation messages information
debug:twig Shows a list of twig functions, filters, globals and tests
doctrine
doctrine:cache:clear-collection-region Clear a second-level cache collection region.
doctrine:cache:clear-entity-region Clear a second-level cache entity region.
doctrine:cache:clear-metadata Clears all metadata cache for an entity manager
doctrine:cache:clear-query Clears all query cache for an entity manager
doctrine:cache:clear-query-region Clear a second-level cache query region.
doctrine:cache:clear-result Clears result cache for an entity manager
doctrine:database:create Creates the configured database
doctrine:database:drop Drops the configured database
doctrine:database:import Import SQL file(s) directly to Database.
doctrine:ensure-production-settings Verify that Doctrine is properly configured for a production environment.
doctrine:generate:crud [generate:doctrine:crud] Generates a CRUD based on a Doctrine entity
doctrine:generate:entities [generate:doctrine:entities] Generates entity classes and method stubs from your mapping information
doctrine:generate:entity [generate:doctrine:entity] Generates a new Doctrine entity inside a bundle
doctrine:generate:form [generate:doctrine:form] Generates a form type class based on a Doctrine entity
doctrine:mapping:convert [orm:convert:mapping] Convert mapping information between supported formats.
doctrine:mapping:import Imports mapping information from an existing database
doctrine:mapping:info
doctrine:query:dql Executes arbitrary DQL directly from the command line.
doctrine:query:sql Executes arbitrary SQL directly from the command line.
doctrine:schema:create Executes (or dumps) the SQL needed to generate the database schema
doctrine:schema:drop Executes (or dumps) the SQL needed to drop the current database schema
doctrine:schema:update Executes (or dumps) the SQL needed to update the database schema to match the current mapping metadata.
doctrine:schema:validate Validate the mapping files.
fos
fos:js-routing:debug Displays currently exposed routes for an application
fos:js-routing:dump Dumps exposed routes to the filesystem
generate
generate:bundle Generates a bundle
generate:command Generates a console command
generate:controller Generates a controller
lint
lint:twig Lints a template and outputs encountered errors
lint:xliff Lints a XLIFF file and outputs encountered errors
lint:yaml Lints a file and outputs encountered errors
router
router:match Helps debug routes by simulating a path info match
security
security:check Checks security issues in your project dependencies
security:encode-password Encodes a password.
swiftmailer
swiftmailer:email:send Send simple email message
swiftmailer:spool:send Sends emails from the spool
translation
translation:update Updates the translation file
composer require symfony/symfony
とcomposer update
を実行して修正しようとしましたが、まだ表示されません。他に試すことができるものはありますか?
以下の編集は、php -version
からの私のphp情報です
PHP 7.0.15-0ubuntu0.16.04.4 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.15-0ubuntu0.16.04.4, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans
編集2
ディレクトリvendor\symfon\symfony\src\Symfony\Bundle\FrameworkBundle\Command
が存在し、次のファイルが含まれています
AboutCommand.php
AbstractConfigCommand.php
AssetsInstallCommand.php
CacheClearCommand.php
CachePoolClearCommand.php
CacheWarmupCommand.php
ConfigDebugCommand.php
ConfigDumpReferenceCommand.php
ContainerAwareCommand.php
ContainerDebugCommand.php
EventDispatcherDebugCommand.php
RouterDebugCommand.php
RouterMatchCommand.php
TranslationDebugCommand.php
TranslationUpdateCommand.php
WorkflowDumpCommand.php
XliffLintCommand.php
YamlLintCommand.php
私のコメントで述べたように、S3.3では、サーバーコマンドは独自のWebServerBundleに移動されました。バンドルをアクティブにするには、AppKernel.phpの編集が必要です。 3.3が実際にリリースされ、人々がアップグレードしようとすると、他の多くの開発者がこれに遭遇する可能性があると思います。
約束はしませんが、AppKernel.phpを次のように更新してみてください。
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
if ('dev' === $this->getEnvironment()) {
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
}
}
試してみるのに適したテストプロジェクトはありませんが、少なくともコマンドは表示されるはずです。
そして、誰かが疑問に思っている場合のために、私がしたことは、新鮮な開発プロジェクトをインストールして、少し動き回ることだけでした。
composer create-project symfony/framework-standard-edition s33 "3.3.*" --stability=dev
私もこれを見つけましたが、AppKernel.phpを更新する必要があることは言及していません http://symfony.com/blog/new-in-symfony-3-3-webserverbundle
アップグレードガイドから: https://github.com/symfony/symfony/blob/3.4/UPGRADE-3.3.md
Server:run、server:start、server:stop、およびserver:statusコンソールコマンドは専用バンドルに移動されました。 composer.jsonでsymfony/web-server-bundleを使用し、AppKernelでregister Symfony\Bundle\WebServerBundle\WebServerBundleを使用してそれらを使用する必要があります。
Composer.jsonにsymfony/symfonyが含まれている限り、Webサーバーバンドルを追加する必要はありません。 AppKernelファイルを調整するだけです。
サーバーを起動する前にこのコマンドを実行してください。
composer require symfony/web-server-bundle --dev
次のコマンドを実行する必要があります。
composer req webserver
タイプ:
php bin/console
許可されているすべてのコマンドが表示されます。
サーバーコマンドを使用する場合は、プロジェクトに入力してインストールする必要があります。
composerにはサーバー--devが必要です
再実行
php bin/console
そして、あなたはそれを見て、それを使うことができるはずです。
環境に正しいAPP_ENVが設定されていることを確認します。私の場合、それは重要でした。
@Barhが言うように、APP_ENV=dev
ファイルには.env
が必要です。
それ以外の場合、Symfony 4 しないは開発モードで実行可能です。
symfony <3.3からsymfony> 3.3にアップグレードすると、Webサーバーが別のバンドルに抽出されたため、この問題が発生します。
そのため、このバンドルが必要になります。
composer require symfony/web-server-bundle --dev
appKernel
if ('dev' === $this->getEnvironment()) {
$bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
}
詳細情報: ここをチェック
.env
をprodに切り替えた後、Symfony 4で同じ問題が発生しました。一部のコマンドは、prodでは表示されません。
Devにスワップするか、bin/console --env=dev
のいずれかが必要です。
サーバーを起動するには:bin/console --env=dev server:run 0.0.0.0:8005
Env.localファイルがある場合は削除します。
理由:server:runが実稼働環境で実行されていないため