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 Passport 无效范围提供了异常

Laravel 5.3 + Passport:总是未经身份验证的错误

Laravel 7 Passport:被 CORS 策略阻止

Laravel passport认证

laravel Passport - 创建 REST API 用户认证以及Dingo/Api v2.0+Passport实现api认证