Laravel新项目缺失server.php文件启动报错,求解决方法
解决新建Laravel项目缺失server.php且启动报错的问题
我之前也碰到过类似的诡异问题,给你几个一步步排查的方向,应该能解决:
1. 清除Composer缓存并重新指定Laravel版本创建项目
有时候Composer缓存的Laravel安装包可能损坏,导致创建项目时缺失文件。先执行缓存清理:
composer clear-cache
然后重新创建项目时,明确指定一个稳定的Laravel版本(比如当前最新稳定版),避免拉到有问题的分支:
composer create-project --prefer-dist laravel/laravel your-project-name "^10.0"
2. 手动添加server.php并检查目录权限
你说无法添加server.php,大概率是Windows目录权限问题:
- 右键项目所在文件夹 → 属性 → 安全选项卡,确保当前用户拥有「完全控制」权限
- 手动创建
server.php文件,粘贴Laravel标准的server.php内容:
<?php $uri = urldecode( parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) ); // This file allows us to emulate Apache's "mod_rewrite" functionality from the // built-in PHP web server. This provides a convenient way to test a Laravel // application without having installed a "real" web server software here. if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { return false; } require_once __DIR__.'/public/index.php';
3. 绕开php artisan serve,直接启动PHP内置服务器
如果artisan serve一直找错文件,试试直接用PHP命令指向public目录的入口文件:
php -S localhost:8000 -t public
这种方式不需要依赖server.php,直接访问http://localhost:8000,看是否能正常运行。如果可以,说明是artisan serve的配置或环境问题,而非项目本身的问题。
4. 排查杀毒软件和路径问题
- Windows下部分杀毒软件会误删或阻止创建类似server.php的文件,检查杀毒软件的隔离区,看看是否有被拦截的server.php
- 把项目移到没有空格、非特殊字符的路径下(比如从
C:\Users\Luke Derkzen\Documents\GitHub\Website移到C:\Projects\LaravelWebsite),再重新创建项目试试,路径中的特殊字符有时候会导致文件创建异常
5. 检查PHP环境与Laravel版本兼容性
虽然你其他项目正常,但还是确认一下:
- XAMPP的PHP版本是否符合你创建的Laravel项目的要求(比如Laravel 10需要PHP 8.1+,Laravel 9需要PHP 8.0+)
- 项目根目录的
.env文件中,APP_URL是否设置正确,不要包含错误的路径
内容的提问来源于stack exchange,提问作者Jjampong
相关产品推荐
相关产品推荐

