Laravel 5.6站点使用php artisan serve刷新后server.php自删报错求助
解决Laravel 5.6刷新页面时server.php被删除的问题
嘿,我之前也碰到过这种诡异的本地开发问题,结合你的报错信息,咱们来一步步排查解决:
1. 先排查杀毒软件误删
这是最常见的原因!很多杀毒软件会把Laravel的server.php误判为恶意脚本,尤其是本地环境里的文件,刷新页面时可能触发了杀毒软件的实时扫描,直接把文件删了。
- 临时关闭杀毒软件,或者把你的项目目录
C:\xampp\htdocs\test3添加到杀毒软件的信任列表。 - 然后重新创建一个
server.php,可以用下面的Laravel 5.6原版代码。
2. 检查项目目录权限
Windows下的权限问题经常容易被忽略,如果当前用户对项目目录没有足够的权限,可能会导致文件被意外删除或无法访问。
- 右键点击项目目录,选择「属性」→「安全」,确保当前登录用户拥有完全控制的权限,并且把权限应用到所有子文件和文件夹。
3. 还原完整的server.php文件
如果你的server.php本身就不完整,或者被篡改过,也可能引发异常。Laravel 5.6原版的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';
4. 更换端口启动服务
有时候默认的8000端口可能和其他程序冲突,导致php artisan serve运行异常。试试换个端口启动:
php artisan serve --port=8080
然后访问http://localhost:8080,刷新页面看看问题是否还出现。
内容的提问来源于stack exchange,提问作者DrCensor
相关产品推荐
相关产品推荐

