必须加-g,否则仅修改当前项目配置,对新建ThinkPHP5项目无效;全局配置写入~/.composer/config.json,确保create-project走国内镜像,避免卡死或超时。
为什么
必须加
不加
就是当前项目级配置,对后续新建的 ThinkPHP5 项目完全无效。而安装 TP5 前必须先设全局镜像,否则
仍会直连国外源,卡在
或直接超时失败。
执行后实际修改的是 Composer 全局配置文件(Windows 在
,Linux/macOS 在
),所有后续
命令都会走这个镜像。
必须用管理员权限或当前用户有写入权限,否则报错
如果提示
,不用管它——这是 Composer 在问你是否用当前目录的配置,直接回车或输
即可
设完可用
回车验证,输出应为
或类似国内地址
命令里
和不带版本号的区别
不写版本(如
)默认拉取最新稳定版,但 TP5 官方早已停止维护,现在实际会命中
或更高(取决于 packagist 缓存),而很多老教程、插件、主机环境只兼容
。
明确写
才能锁定 5.0 分支最后一版(如
),避免因自动升级引发
或路由解析异常。
立即学习
“
PHP免费学习笔记(深入)
”;
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
强制走压缩包安装,比
快得多,也更省空间
项目名(如
)不能含空格或中文,否则后续
命令会报错
若提示
,先确认镜像已生效,再运行
镜像地址选哪个?
还是
两个都可用,但
已于 2022 年底停止服务;目前稳定可用的是
(Laravel China 镜像),它同步频率高、节点稳定,TP5 的所有历史 tag 都完整保留。
别用网上残留的旧教程里的
地址,否则
会返回
或 404。
正确命令:
如果公司内网或某些 Linux 发行版自带旧版 Composer(composer self-update
设错后想清除,运行:
,再重设
安装后访问
报 404 或白屏?检查这三点
TP5 5.0 要求 Web 服务器入口必须指向
目录,不是项目根目录。直接打开
或用
启动会出问题。
WAMP/XAMPP:把整个
文件夹放进
,然后访问
(不是
)
Nginx:root 必须设为
,且要开启
Apache:确保
在
下且未被忽略;若用子目录部署,需改
里的
为
最常被忽略的是 PHP 扩展:TP5 5.0 依赖
和
,Windows 下要检查
里这两行前面的分号是否已去掉。
composer config -g repo.packagist-g-gcomposer create-projectInstalling topthink/think (v5.0.24)%USERPROFILE%\AppData\Roaming\Composer\config.json~/.composer/config.jsoncomposerFailed to modify global configNo composer.json in current directoryYcomposer config -g repo.packagisthttps://packagist.phpcomposer.comcreate-project=5.0.*composer create-project topthink/think tp5 --prefer-dist5.1.x5.0.*=5.0.*5.0.24Class think\App not found--prefer-dist--prefer-sourcetp5php thinkCould not find package topthink/thinkcomposer clear-cachephpcomposer.comlaravel-china.orghttps://packagist.phpcomposer.comhttps://packagist.laravel-china.orgphpcomposer.comcomposer create-projectConnection refusedcomposer config -g repo.packagist composer https://packagist.laravel-china.orgcomposer config -g --unset repo.packagist/public/public/index.phpphp -Stp5/www/http://localhost/tp5/public//tp5//path/to/tp5/publictry_files $uri $uri/ /index.php?$query_string.htaccesspublic/public/.htaccessRewriteBase /RewriteBase /tp5/public/opensslfileinfophp.ini