菜鸟AI - 让提示词生成更简单! 全站导航 全站导航
AI工具安装 新手教程 进阶教程 辅助资源 AI提示词 热点资讯 技术资讯 产业资讯 内容生成 模型技术 AI信息库

已有账号?

首页 > AI教程 > ThinkPHP项目phpstudy Nginx部署教程
进阶教程

ThinkPHP项目phpstudy Nginx部署教程

2026-05-29
阅读 0
热度 0
作者 菜鸟AI编辑部
摘要

摘要

ThinkPHP部署中,宝塔面板防跨站攻击开关开启会导致404,关闭即可。本地PHPStudy用Nginx时,路

朋友的一个ThinkPHP项目需要部署,用Linux服务器,搭宝塔面板。第一台服务器装好宝塔,配上Nginx和PHP 5.6,建站、绑定域名,一气呵成,一切正常。

thinkphp项目部署在phpstudy里的nginx上

但昨天在另一台服务器上重复同样的操作——宝塔、Nginx、PHP 5.6、建站、绑定域名——访问时却直接给了个404。一顿搜索后发现,问题出在宝塔网站设置里那个“防跨站攻击”的开关。第一台服务器默认没勾,这台却勾上了,去掉勾选后立即恢复正常。

接着把项目放到本地Windows 10上,装好PHPStudy,先用默认的PHP 5.6 + Apache,在站点域名管理里新建一个,端口设为8001。浏览器访问 http://localhost:8001,正常显示。

然后换成Nginx + PHP 5.6,同样新建站点、端口8001,结果无论访问哪个页面都报错:No input file specified

网上搜了一整天,终于找到一篇能解决问题的文章。查看 C:\phpStudy\PHPTutorial\nginx\logs\error.log,发现错误信息指向路径转义问题。项目目录是 c:\temp\daochi\php,原来Nginx把 \t 给转义了。进入 C:\phpStudy\PHPTutorial\nginx\conf\vhosts.conf,把路径改成 c:\emp 就好了。

重新访问 http://localhost:8001,能显示了,但又冒出另一个问题:ThinkPHP项目在本地测试需要手动加上 index.php。如果想去掉这个尾巴,还得继续改 vhost.conf,加上ThinkPHP的路由重写规则。差点忘了,宝塔面板上也要在网站配置文件里加上同样的内容:

location / {
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php?s=$1 last;
        break;
    }
}

至此,本地和服务器上的部署都跑通了。核心就是两件事:宝塔里检查防跨站开关,Nginx反赌意路径转义和ThinkPHP的URL重写配置。如果你也遇到类似问题,不妨顺着这个思路排查一遍。

来源:互联网

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

同类文章推荐

相关文章推荐

更多