本地运行Laravel项目报server.php第21行找不到public/index.php错误
Laravel本地启动报错No such file or directory 解决方案
报错触发逻辑:server.php第21行默认会加载项目public目录下的index.php作为入口文件,本地缺少对应文件就会抛出该错误。公网运行正常是因为生产环境的Web服务器站点根目录配置适配了项目实际的入口路径,不需要走server.php的默认加载逻辑。
- 方案1:修改server.php入口路径
首先确认项目根目录是否存在index.php文件,若存在说明生产环境已将默认public目录下的入口文件迁移至根目录,直接替换server.php第21行代码:
原代码:
修改后:require_once __DIR__.'/public/index.php';
重启服务即可正常访问。require_once __DIR__.'/index.php'; - 方案2:同步公网public目录到本地
若公网服务器存在public/index.php文件,说明本地拉取代码时遗漏了对应目录文件,直接将公网的完整public目录下载到本地项目对应路径即可,需同时同步public下的静态资源文件,避免页面样式、功能异常。 - 方案3:调整本地XAMPP站点配置
无需修改项目代码,打开XAMPP的httpd-vhosts.conf配置文件,新增站点配置将根目录指向项目实际入口所在目录,示例配置如下:
保存后重启Apache即可直接访问。<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/atlantis" ServerName atlantis.local <Directory "C:/xampp/htdocs/atlantis"> AllowOverride All Require all granted </Directory> </VirtualHost>
内容的提问来源于stack exchange,提问作者ALAA ELDIN
相关产品推荐
相关产品推荐

