Heroku和Laravel护照

Dom*_*Dom 2 heroku laravel laravel-passport

我尝试在heroku上安装我的应用程序。该应用程序是带有“护照”进行身份验证的php-laravel应用程序。在我的本地计算机(mac os)上一切运行正常。

当我尝试对邮递员进行简单的“发布”时,出现以下错误:

2018-03-17T17:05:22.059708 + 00:00 app [web.1]:[2018年3月17日17:05:22 UTC] [2018-03-17 17:05:22]生产。错误:密钥路径“ file:///app/storage/oauth-private.key”不存在或不可读{“ exception”:“ [object](LogicException(code:0):关键路径\” file:/// app / storage / oauth-private.key \“不存在,或在/app/vendor/league/oauth2-server/src/CryptKey.php:45)处不可读”] []

要设置护照,我用生成了密钥:

PHP的工匠护照:安装

我在heroku的数据库中看到了密钥。因此该命令正常运行。

那么这是什么错误呢?

我也尝试过重新生成密钥,以停止并重新启动应用程序。没有成功。

感谢您的建议。谢谢

多米尼克

编辑:实际上,密钥文件不是在文件夹app / storage中生成的,这就是为什么出现此错误的原因。但是为什么不生成这些文件?

Dom*_*Dom 6

解决方案在这里:https : //github.com/laravel/passport/issues/267

将这些几行添加到您的composer.json中的“ scripts”属性下,然后提交并部署到heroku中。

"post-install-cmd": [ 
        "php artisan clear-compiled",
        "chmod -R 777 storage", 
        "php artisan passport:keys"
    ]
Run Code Online (Sandbox Code Playgroud)

但是:之后,您必须从“ oauth-clients”表中删除密钥,然后使用以下命令重新生成这些密钥:

PHP的工匠护照:安装

它为我工作。

希望它会有所帮助。

多米尼克