Passport Laravel Exception file_put_contents(/secret-keys/oauth\oauth-public.key): 无法打开流
Posted
技术标签:
【中文标题】Passport Laravel Exception file_put_contents(/secret-keys/oauth\\oauth-public.key): 无法打开流【英文标题】:Passport Laravel Exception file_put_contents(/secret-keys/oauth\oauth-public.key): failed to open streamPassport Laravel Exception file_put_contents(/secret-keys/oauth\oauth-public.key): 无法打开流 【发布时间】:2021-03-19 11:24:08 【问题描述】:我正在尝试使用 laravel 护照进行练习,当我尝试安装 laravel 护照时出现此错误
file_put_contents(/secret-keys/oauth\oauth-public.key): failed to open stream: No such file or directory
at C:\xampp\htdocs\test_passport\passme\vendor\laravel\passport\src\Console\KeysCommand.php:46
42▕ $this->error('Encryption keys already exist. Use the --force option to overwrite them.');
43▕ else
44▕ $keys = $rsa->createKey($this->input ? (int) $this->option('length') : 4096);
45▕
➜ 46▕ file_put_contents($publicKey, Arr::get($keys, 'publickey'));
47▕ file_put_contents($privateKey, Arr::get($keys, 'privatekey'));
48▕
49▕ $this->info('Encryption keys generated successfully.');
50▕
1 C:\xampp\htdocs\test_passport\passme\vendor\laravel\passport\src\Console\KeysCommand.php:46
file_put_contents("/secret-keys/oauth\oauth-public.key", "-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAve3QjZA+Q4wtvHUTlAJU
9bThl5i8YpHv+pP4CI6vQxT1lWuanIuM4tnhjxL6xmQlk67IrZOVzhopvI5FsKwY
Uel0pKuHSQEqi7rYcfKydXxXf9QfGadWlcD0rXGc82wtTDYI7Pb7BxjVXoY/cXoM
Zz328OdCcKUifBamef9y1Ffo/fLtYJe4Vdm8hvUB/2sCB9bgzXDZ8PLohYyMHNdq
RWfbWklyAROsxNek2UzZoQdbWzYVTjdWjTIdZL560ZuVRHseFgvsrokXERRoXXNn
BYoFzdvWs8xzWEF3VoVcpAPtCURmp7ka8Y3IsLOAQ81eQbZZ9XkbM6H1xCf6lf+W
yna+6bcE1m6K8qeZlkiIK7fhkkDXSxI4HUijs6sxw4Xf3+eOxaRdbWmHavwOAKsl
KyYvKMPQsjlYXLzXATerVoSzyQpmGD5ikzTE3A/D0hrojxuQr9KffluZ2NbTvceY
p1De9hHhp/8Mrj32xo0gh/rZy/nRgXKhD7wIi7WVQnEOd9qqJtDJbk5VbF9Dh3uJ
N9FG2LLP24y4WBCtbdV7cIprt3Da+B6AiXZqpfZE2YkFpF+uCVftvpEDMmEaDKWI
uS5jA8JdJjp8CColON+0Ou8l0QSccWUleu2f/MLX55HZHMYIHLlbR+4JznaFR1oL
24/fZa75+qy37xywiMUJLaECAwEAAQ==
-----END PUBLIC KEY-----")
2 C:\xampp\htdocs\test_passport\passme\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:36
Laravel\Passport\Console\KeysCommand::handle(Object(phpseclib\Crypt\RSA))
================================================ ==================================================== ===
我试过了 php工匠配置:缓存 作曲家自动加载转储 php工匠密钥:生成
【问题讨论】:
这能回答你的问题吗? file_put_contents - failed to open stream: Permission denied 你读过第一行吗?这个文件存在吗? "/secret-keys/oauth/oauth-public.key" ... 如果你在 Linux 上最后一个斜杠不起作用,你需要修复它。 已修复,我不在 linux 上 【参考方案1】:在您的文件中routes/api.php
use App\Http\Controllers\ControllerName;
在ControllerName
中添加控制器的名称。
【讨论】:
感谢您的回答,但我之前已修复它,这是我的 php 版本和配置中的问题,因为我已经回答了我上面自己的问题以上是关于Passport Laravel Exception file_put_contents(/secret-keys/oauth\oauth-public.key): 无法打开流的主要内容,如果未能解决你的问题,请参考以下文章
每天一点点之laravel框架 - Laravel5.6 + Passport实现Api接口认证
Laravel 5.3 + Passport:总是未经身份验证的错误
Laravel 7 Passport:被 CORS 策略阻止
laravel Passport - 创建 REST API 用户认证以及Dingo/Api v2.0+Passport实现api认证