我克隆了一个使用passport库的Laravel Framework 6.13.1编写的gitlab项目。像往常一样,我首先执行了composer install,但我得到了这个错误:
LogicException : Key path "file://C:\xampp\htdocs\myproject\storage\oauth-private.key" does not exist or is not readable
at C:\xampp\htdocs\myproject\vendor\league\oauth2-server\src\CryptKey.php:48
44| $keyPath = 'file://' . $keyPath;
45| }
46|
47| if (!file_exists($keyPath) || !is_readable($keyPath)) {
> 48| throw new LogicException(sprintf('Key path "%s" does not exist or is not readable', $keyPath));
49| }
50|
51| if ($keyPermissionsCheck === true) {
52| // Verify the permissions of the key
Exception trace:
1 League\OAuth2\Server\CryptKey::__construct("file://C:\xampp\htdocs\myproject\storage\oauth-private.key")
C:\xampp\htdocs\note-server\vendor\laravel\passport\src\PassportServiceProvider.php:248
2 Laravel\Passport\PassportServiceProvider::makeCryptKey("private")
C:\xampp\htdocs\note-server\vendor\laravel\passport\src\PassportServiceProvider.php:214
现在我不能运行php工匠命令我得到了相同的错误
哪里是问题?为什么我得到这个错误?我搜索它在互联网上有人说运行php工匠护照:安装或其他命令,但我现在不能运行php artiasan因为得到了同样的错误
3条答案
按热度按时间z18hc3ub1#
由于**/storage/*.key位于.gitignore**中,因此如果提取项目,则可能会由于运行
将为您生成新密钥。
7y4bm7vi2#
这是一个技巧,我只是用它来让我的测试环境工作,所以我不建议在生产环境中这样做,但我在运行
composer install
之前通过执行以下操作成功地让它工作:我首先手动生成密钥:
然后,通过在另一台机器上运行
php artisan key:generate
并将其包含在存储库中,确保.env
文件中存在有效的APP_KEY
;你也可以手动地将它添加到.env
文件中,这样做不安全的主要原因是因为这个密钥不应该包含在任何存储库中,并且出于安全考虑应该只存在于它自己的机器上。这将使构建处于一种状态,在这种状态下,您可以运行
composer install
,然后运行以下命令来安装passport:希望一切都能正常工作。
同样,这是我用来让我的测试环境工作的一个黑客,因为我认为我的Laravel/Passport版本和机器本身存在某种兼容性问题。
wfveoks03#
找到了另一个解决护照问题的方法。