我好几天都在捣乱这个问题:安装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
我做了什么。
php composer.phar clearcace
php composer.phar update
php artisan cache:clear
php artisan config:cache
php artisan migrate
php artisan passport:install
然后错误发生......
如果php composer.phar require laravel/passport
,并且可以通过ftp看到/ vendor / laravel / passport文件夹中有!
答案 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工作,请执行以下步骤:
希望这会奏效。
答案 3 :(得分:0)
您是否尝试过使用:
php artisan config:clear
而不是config:cache。 它似乎对我有用,这在您在config / app中注册护照类时是有意义的。
清除所有缓存也解决了我无法使用“artisan migrate”的问题,此前它曾说过“无需迁移”。迁移似乎没有出现在数据库/迁移中。
答案 4 :(得分:0)
我遇到了同样的问题,并且在我这样做之后它起作用了
作曲家更新 php工匠配置:缓存 php工匠迁移 php工匠护照:安装