ThinkPHP项目phpstudy Nginx部署教程

2026-05-29阅读 0热度 0
ps

朋友的一个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重写配置。如果你也遇到类似问题,不妨顺着这个思路排查一遍。

免责声明

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

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策