描述:必须关闭open_basedir并设置public为Web根目录;需检查.env权限与格式、安全组端口及PHP扩展(curl/openssl/mbstring等)。阿里云 ECS 上部署 ThinkPHP 5.1+ 必须关掉 open_basedirThinkPHP 5.1 及以上版本在阿里云 EC…
必须关闭open_basedir并设置public为Web根目录;需检查.env权限与格式、安全组端口及PHP扩展(curl/openssl/mbstring等)。
open_basedirThinkPHP 5.1 及以上版本在阿里云 ECS(尤其是 CentOS + 阿里云默认 PHP 环境)上跑不起来,十有八九是被 open_basedir 拦住了。它会阻止框架自动加载 vendor 下的类、读取 runtime 缓存、甚至写日志——报错通常是 Warning: require(): open_basedir restriction in effect 或直接 500。
阿里云镜像(比如“宝塔一键部署”或“PHP 运行环境”镜像)常默认开启该限制,且路径只设了 /www/wwwroot,但 ThinkPHP 的 vendor 和 runtime 往往不在同一级目录下(尤其你用 composer create-project 初始化时)。
php -i | grep open_basedir/www/server/php/74/etc/php.ini,版本号按实际替换)open_basedir 行,临时注释掉整行(加分号),或改成宽松路径:open_basedir = /www/wwwroot/:/tmp/:/proc/service php-fpm-74 restart(注意版本号匹配)public 目录必须设为 Web 根目录ThinkPHP 6 默认把入口文件 index.php 放在 public/ 下,而阿里云多数面板(如宝塔)新建站点时默认根目录指向项目顶层,这会导致 index.php 被暴露、静态资源 404、public/runtime 权限混乱。
正确做法是:站点根目录必须指定为 /www/wwwroot/your-site/public,不是 /www/wwwroot/your-site。
立即学习“PHP免费学习笔记(深入)”;
/public 的完整路径root 指令必须指向 public 目录,且 location ~ \.php$ 块里要加 fastcgi_index index.php 和 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_namepublic/runtime 下所有缓存文件,否则旧路由/配置可能残留.env 文件权限和内容必须手动检查ThinkPHP 通过 .env 加载数据库、调试开关等配置,但阿里云 ECS 上常因上传方式(FTP、宝塔上传、scp)导致文件权限不对,或 Windows 编辑后换行符异常,造成 DotEnv\Loader::load() 失败、APP_DEBUG 不生效、数据库连不上。
.env 在项目根目录(即 public 的同级),不是放在 public/ 里chmod 644 /www/wwwroot/your-site/.env(不能是 777,否则 ThinkPHP 会拒绝加载)file /www/wwwroot/your-site/.env 看编码和换行符,如果是 CRLF,用 dos2unix .env 转换APP_DEBUG=true ✅,APP_DEBUG = true ❌部署完访问 502 或白屏,别急着调代码——先看基础链路通不通。阿里云 ECS 默认关闭所有端口,且 ThinkPHP 依赖几个关键扩展(尤其是 curl、openssl、mbstring),缺一个都可能导致请求失败或验证码不显示。
80(HTTP)、443(HTTPS),源地址可填 0.0.0.0/0(测试用),正式环境建议限定 IPphp -m | grep -E "curl|openssl|mbstring",缺哪个就装:yum install php-curl php-openssl php-mbstring(CentOS)或 apt install php-curl php-openssl php-mbstring(Ubuntu)redis 扩展已启用(extension=redis.so 在 php.ini 中未被注释)真正卡住的地方往往不是框架本身,而是 open_basedir 和 public 目录这两处——改错一个,整个应用就从 500 变成 404,再改对另一个,才真正跑起来。动手前先 php -t 测下基础 PHP 是否就绪,比对着文档一行行试快得多。
5元云服务器:入门级新手首选 我是一名刚毕业的大学生,对编程充满了热情,但现实总是骨感一些。刚踏入职场,我梦想着能独立开发一个网站或应用,却苦于没有足够的资源。买一台实体服务器太贵,租个虚拟空间又觉得…
6元服务器租用,高性价比VPS主机推荐 记得去年我刚开始创业,做了一个小型网站来展示我的产品。那时,我手头紧,预算有限,却急着需要一个可靠的服务器来托管网站。作为一个普通上班族,我对技术懂得不多,但我…
2021年云服务器优惠套餐推荐 嗨,朋友们!你是否曾经在深夜里,面对一堆代码和服务器错误,感叹说:“为什么我的项目老是卡顿?”如果是这样的话,那你可能正在寻找2021年云服务器优惠套餐的解决方案。作为…
云服务器市场增长 大家好,作为一个每天依赖云服务器的开发者,我亲身感受到市场的飞速膨胀。想象一下,几年前我还得在办公室的老旧电脑前苦苦挣扎,处理数据时总是卡顿不堪,但现在,只需轻轻一点,就能在云端获得…
1元买走一台云服务器,这种天上掉馅饼的事存在吗? 那天,我在咖啡馆里刷手机,偶然看到一个广告:“只需1元,就能买走一台高性能云服务器!容量无限,稳定快速,适合创业和学习。”我的心跳突然加速了。作为一个…
云服务器10元/月:经济型服务价格新记录 最近,云服务器的价格被推向了一个新低,10元一个月的方案让许多人惊喜不已。这不仅仅是数字上的变化,更是科技服务普惠化的一个标志。云服务器作为一种基于云计算的虚…