Laravel 5项目本地运行报file_put_contents视图文件不存在错误如何解决
127.0.0.1:8000>[Fri Sep 24 10:46:12 2021] PHP Fatal error: Uncaught ErrorException: file_put_contents(/var/www/html/mpm/storage/framework/views/9573eb5dc606d0d2f327fdda9ed9d4ecfd5f1e97.php): failed to open stream: No such file or directory in C:\xampp\htdocs\amit\mpmnew\mpm20sept2021\mpm\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php:122
错误原因
这是Laravel跨环境迁移的典型路径不匹配问题:你当前在Windows XAMPP环境运行项目,但项目残留的旧配置缓存中保存了之前Linux/服务器环境的绝对路径,导致Laravel尝试向不存在的Linux路径写入编译后的视图文件,触发写入失败。
解决方案
按以下步骤依次操作即可修复:
- 第一步:清空所有旧缓存
在项目根目录打开终端,依次执行以下Artisan命令:
php artisan cache:clear php artisan config:clear php artisan view:clear php artisan route:clear
- 第二步:补全storage目录结构
检查项目根目录下storage/framework/路径,确认存在以下3个空目录,不存在则手动新建:- views
- sessions
- cache
Windows环境下右键上述3个目录→属性→安全,给Users用户组赋予完全控制权限,避免后续权限不足报错。
- 第三步:校验配置文件(可选,执行前两步后仍报错再操作)
打开项目根目录下的.env文件,确认没有硬编码/var/www/html相关的绝对路径;再检查config/view.php中的compiled配置项,默认值应为realpath(storage_path('framework/views')),不要修改为固定路径。
所有操作完成后重新启动项目即可正常访问。
内容的提问来源于stack exchange,提问作者amit kasabe
相关产品推荐
相关产品推荐

