PHP
Heroku
laravel
Passport

[PHP] heroku でプライベートアクセストークンが生成できないエラーがおきたときの解消法

概要

Laravel で作りかけのアプリを heroku にデプロイするときに詰まってたところのまとめ

発生現象

エラー内容

Key path "file:///app/storage/oauth-private.key" does not exist or is not readable

本来、 php artisan passport:install で生成されるはずの oauth-private.key がないよっていうエラー

実際確かめると

$ heroku run "ls -la storage"
Running ls -la storage on ⬢ [app]... up, run.8207 (Free)
total 20
drwx------  5 u42099 dyno 4096 Oct  9 12:16 .
drwx------ 14 u42099 dyno 4096 Oct  9 12:34 ..
drwx------  3 u42099 dyno 4096 Oct  9 12:16 app
drwx------  6 u42099 dyno 4096 Oct  9 12:16 framework
drwx------  2 u42099 dyno 4096 Oct  9 12:16 logs

確かにない ... ないけど ...
これ単に権限ないだけやんけ !!

となり権限付与作業へ

権限付与

最初はホストから

$ heroku run "chmod -R 777 storage"

でいけるかなぁと思ったけど、うまく権限変わらず
生意気だな ... こいつ ... とか思って色々調べていたところ
直接入って変える必要があるみたいでした

$ heroku ps:exec -a [app]

入ってから普通に

$ chmod -R 777 storage
$ php artisan passport:keys

これで解決しました :thumbsup: