第一段引用上面的摘要:本文旨在解决 Laravel 7 中执行 php artisan key:generate 命令时遇到的 "file_get_contents" 错误。通过手动生成 APP_KEY 并更新 .env 文件,帮助开发者快速解决该问题,确保应用程序正常运行。
当你在 Laravel 7 项目中使用 php artisan key:generate 命令时,可能会遇到类似 file_get_contents(/project/positiv/core/vendor/psy//.env): failed to open stream: No such file or directory 的错误。 这通常是因为脚本无法找到或访问 .env 文件。虽然原因可能多种多样,但一个快速且有效的解决方法是手动生成 APP_KEY 并将其添加到 .env 文件中。
手动生成 APP_KEY 的步骤:
使用 --show 选项生成 Key:
运行以下命令:
这个命令会生成一个新的 APP_KEY,并将其直接输出到你的终端。 生成的 Key 格式类似于 base64:xxxxxxxxxxxxxxxxxxxxxxx。
复制生成的 Key:
从终端复制完整的 APP_KEY,包括 base64: 前缀。
编辑 .env 文件:
找到你的 Laravel 项目根目录下的 .env 文件。 如果没有该文件,请复制 .env.example 并将其重命名为 .env。
更新 APP_KEY:
在 .env 文件中找到 APP_KEY 变量。 如果不存在,请添加一行 APP_KEY=。 将复制的 APP_KEY 粘贴到等号后面。 例如:
注意:
确保 APP_KEY 的值被引号包裹,特别是当你的 Key 包含特殊字符时。虽然通常情况下不需要引号,但为了避免潜在的问题,建议始终使用引号。
保存 .env 文件:
保存对 .env 文件所做的更改。
验证 Key 是否已正确设置:
Laravel 13.2.0
PHP中文网提供Laravel 13.2.0版本下载,Laravel框架 是基于 PHP 8.3+ 的高性能框架,官方推荐通过 Composer 安装。它内置 AI SDK、JSON:API Resources 及原生向量搜索,支持属性驱动开发与队列路由,大幅提升开发效率。相比旧版,13.2.0 优化了缓存 TTL 管理与实时通信,无需 Redis 即可横向扩展。作为现代 Web 开发首选,它兼顾安全与极速体验,助您快速构建企业级应用。
下载
你可以通过 config('app.key') 辅助函数来验证 APP_KEY 是否已正确设置。 在你的 Laravel 应用中,运行以下代码:
如果输出与你在 .env 文件中设置的 APP_KEY 相同,则表示 Key 已成功设置。
其他注意事项:
权限问题:
确保你的 Web 服务器用户 (例如 www-data 或
nginx
) 具有读取 .env 文件的权限。 可以使用 chown 和 chmod 命令来更改文件所有者和权限。
缓存问题:
在修改 .env 文件后,可能需要清除配置缓存。 运行以下命令:
环境变量加载:
确保你的服务器环境已正确配置,可以加载环境变量。 在某些服务器配置中,可能需要显式地加载 .env 文件。
确保 .env 文件存在:
检查 .env 文件是否存在于你的项目根目录。 如果没有,请复制 .env.example 并将其重命名为 .env。
总结:
手动生成和设置 APP_KEY 是解决 php artisan key:generate 命令失败的有效方法。 按照上述步骤操作,你应该能够成功生成并配置 APP_KEY,从而解决相关问题。 记得检查文件权限,清除配置缓存,并确保环境变量已正确加载,以确保你的 Laravel 应用程序正常运行。
php artisan key:generate --showAPP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxphp artisan config:clear