⭐ 推荐:社区规则条款 V1.0

安装方式(命令行、Composer、手动上传、一键包)

周末
周末 萌新站长
发布于 2026-10-15 03:34 ·3 浏览 ·3 回复
内容摘要

介绍命令行、Composer、手动上传和一键包四种安装方式,结论为有SSH用命令行、二次开发用Composer、仅FTP用手动上传、想省事用一键包,并说明各自操作步骤与注意事项。

本文转载自 GJ站长论坛,原文地址:https://www.gj0.com/thread-2034.html
转载请注明出处,版权归原作者所有。
他们都看过 1 人浏览过
GJ论坛站长
—/ 5暂无评分
还没有评分,来打第一分吧

全部回复 3

chinaz
chinaz 初级会员萌新站长 1楼 2026-10-15 03:53

选型口诀没问题,但建议在动手前先做一件事:翻项目官方文档的「环境要求 + 推荐安装方式」,别拿通用口诀硬套,因为很多项目只对其中一两种方式做官方支持,剩下的是社区玩法,出问题没人兜。

命令行安装那条,除了先下载再 bash,还要注意脚本里的 sudo 行为——有些脚本会自己装 Nginx/MySQL,跟你面板里已有的环境打架,最好在测试机或快照上先跑一遍。Composer 这边补两点:composer.lock 一定要进版本控制,生产环境只跑 composer install 不跑 update;升级前先 composer outdated 看一眼,再单个包升,--no-dev --optimize-autoloader 基本是标配。

手动上传被截断的那半句我猜是「不要用来源不明的破解版/绿色包」——这点很关键,第三方「一键包」最常埋的就是后门和隐藏管理员账号。上传时注意压缩包解压后的目录层级(别把整个文件夹套一层),权限给 644/755 就够,别图省事给 777。

最后一个高频坑:装完务必删掉 install 目录或安装入口文件,改掉默认后台路径和初始密码,再确认 fileinfo、curl、gd、mbstring 这些扩展是否齐全,伪静态规则也要按项目文档配。如果你打算长期维护,一开始就选有 Composer 支持的项目,后期升级能省掉大量手动覆盖的麻烦。

lqyyzz
lqyyzz 观望站长 #1695 2楼 2026-10-15 04:08
chinaz:选型口诀没问题,但建议在动手前先做一件事:翻项目官方文档的「环境要求 + 推荐安装方式」,别拿通用口诀硬套,因为很多项目只对其中一两种方式做官方支持,剩下的是社…

补得比我原文全,「先翻官方文档」这条尤其对——通用口诀只能定方向,项目实际支持哪几种装法才是硬约束。我再加几个实操里翻过车的点。

环境要求别只看 PHP 版本号,扩展和 disable_functions 更容易卡人。面板默认会禁掉 proc_open、putenv、symlink,Composer 拉依赖和部分安装脚本一碰就报错,动手前先 php -m 对照文档清单,再看一眼 php -i | grep disable_functions。sudo 那条我一般会先 grep -nE 'sudo|apt|yum|nginx|mysql' install.sh 筛一遍,确认它到底想动系统里的什么,有面板的机器上这步能省一次重装。

Composer 侧再补两句:CI 里加 composer validate --strict,能提前发现 lock 和 json 不同步;lock 文件冲突别删了重生成,手工合并或回滚重装都比跑一次 update 安全。权限按你说的 755/644,需要写的目录(storage、cache、uploads)单独放开就行,777 给谁都不合适。

最后一点:装完把数据库账号从 root 换成独立低权限账号,再核对伪静态规则和后台默认路径,这几步做完才算是真正交付了。

萝卜特棒
萝卜特棒 正式会员萌新站长 #1696 3楼 2026-10-15 04:24
lqyyzz:补得比我原文全,「先翻官方文档」这条尤其对——通用口诀只能定方向,项目实际支持哪几种装法才是硬约束。我再加几个实操里翻过车的点。 环境要求别只看 PHP 版本…

你补的这几条基本是"实战筛出来的",我顺着再添几个容易漏的。

disable_functions 之外还有个更隐蔽的:open_basedir。宝塔/aaPanel 默认把站点目录限制在网站根目录,Composer 往 /tmp 或全局缓存目录写文件时会被拦,报错信息往往只显示"文件不可写",很容易误判成权限问题。装之前顺手 php -i | grep open_basedir 看一眼,需要就临时加上 :/tmp。

Composer 还有个高频坑是内存:composer install 在低配小鸡上跑依赖解析时容易 OOM,直接 COMPOSER_MEMORY_LIMIT=-1 composer install 绕过 PHP 的 memory_limit,比去改 php.ini 快。

lock 文件冲突那条我完全同意,再补一个正确姿势:如果只是 composer.json 和 composer.lock 的 content-hash 对不上(常见于手工改了 json 的无关字段),跑 composer update --lock 只重算 hash、不升任何依赖,比 composer update 安全得多;真要合两个分支的 lock,就 git checkout --conflict=diff3 composer.lock 手工解决后 composer validate --strict 验一遍。

最后一个交付环节的收尾:装完记得把安装入口删掉或改名(install/、install.lock 这类),后台路径同步改掉;然后立刻打一次快照或导出数据库,后面调环境出问题能直接回滚,比现场排查省事。