Laravel Passport - 命令未定义

时间:2017-07-16 20:47:03

标签: php laravel composer-php

我好几天都在捣乱这个问题:安装Laravel护照。我完全按照教程。我做了什么

composer require laravel/passport

Laravel\Passport\PassportServiceProvider::class,添加到config/app.php

运行php artisan migrate然后php artisan passport:install 这件事很糟糕,这可以在我的本地机器上运行。但是当我通过ftp将其上传到我的网站空间并运行php artisan passport:install时,它就会出现这个错误:

Uncaught exception - 'There are no commands defined in the "passport" namespace.'

完整错误(请参阅pastbin

PHP Fatal error:  Uncaught exception 'Symfony\Component\Console\Exception\CommandNotFoundException' with message 'There are no commands defined in the "passport" namespace.' in /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php:533
Stack trace:
#0 /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php(565): Symfony\Component\Console\Application->findNamespace('passport')
#1 /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php(204): Symfony\Component\Console\Application->find('passport:instal...')
#2 /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php(130): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /mnt/web102/d0/25/58432925/htdocs/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Comp in /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php on line 533
PHP Fatal error:  Uncaught exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Uncaught exception 'Symfony\Component\Console\Exception\CommandNotFoundException' with message 'There are no commands defined in the "passport" namespace.' in /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php:533
Stack trace:
#0 /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php(565): Symfony\Component\Console\Application->findNamespace('passport')
#1 /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php(204): Symfony\Component\Console\Application->find('passport:instal...')
#2 /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php(130): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /mnt/web102/d0/25/58432925/htdocs/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(122): Symfony\Component\Consol in /mnt/web102/d0/25/58432925/htdocs/www/vendor/symfony/console/Application.php on line 533
Status: 500 Internal Server Error
X-Powered-By: PHP/5.6.30
Content-type: text/html

我做了什么。

  1. 上传了我的所有代码,没有./vendor和composer.lock
  2. (上传服务器.env)
  3. php composer.phar clearcace
  4. php composer.phar update
  5. php artisan cache:clear
  6. php artisan config:cache
  7. php artisan migrate
  8. php artisan passport:install
  9. 然后错误发生......

    如果php composer.phar require laravel/passport,并且可以通过ftp看到/ vendor / laravel / passport文件夹中有!

5 个答案:

答案 0 :(得分:1)

我已采取了哪些措施来解决问题!

如果删除<{p>,请在\vendor\laravel\passport\src\PassportServiceProvider.php

if ($this->app->runningInConsole()) {
第37行

。将此内容上传到我的网站空间后,如果可以充分利用laravel:passport
感谢所有其他帮助!

答案 1 :(得分:1)

如果您在共享主机上运行,​​请尝试

  

导出APP_RUNNING_IN_CONSOLE = true

之后,您可以运行php artisan passport:install

Laravel的runningInConsole方法检查是否设置了该环境,或者输出php_sapi_name() cli 还是 phpdbg 。在共享主机上,它可以是 cgi-fcgi

答案 2 :(得分:0)

我猜你有没有安装护照的问题,如果你是通过FTP工作,请执行以下步骤:

  1. 不使用vendor和composer.lock
  2. 上传代码
  3. 确保.env存在或填写关键字&#39;在app.php
  4. 运行composer dumpautoload
  5. 运行此命令composer update --no-scripts
  6. 尝试运行php artisan只是为了列出所有命令,如果你有所有命令,那么你可以运行php artisan passport:install
  7. 希望这会奏效。

答案 3 :(得分:0)

您是否尝试过使用:

  

php artisan config:clear

而不是config:cache。 它似乎对我有用,这在您在config / app中注册护照类时是有意义的。

清除所有缓存也解决了我无法使用“artisan migrate”的问题,此前它曾说过“无需迁移”。迁移似乎没有出现在数据库/迁移中。

答案 4 :(得分:0)

我遇到了同样的问题,并且在我这样做之后它起作用了

作曲家更新 php工匠配置:缓存 php工匠迁移 php工匠护照:安装