宝塔面板 Composer 怎么用

liulian
liulian 初级会员超兽战士
发布于 2026-10-08 17:49 ·1 浏览 ·0 回复

学完这篇你能得到什么:你能在宝塔面板里把 Composer 装好、配好国内镜像、在任意站点目录里跑通 composer install,并且知道 vendor 权限和 PHP 版本这两个高频坑怎么绕。

第一步:安装 Composer

这一步要做的是把 Composer 装到服务器上,做完之后在终端敲 composer -v 能看到版本号。

登录宝塔 Linux 面板(本文以 8.x 版本为例),在左侧菜单点「软件商店」,页面顶部有搜索框,输入 Composer 回车。在结果列表里找到「Composer」,点右侧的「安装」,弹窗保持默认点「确定」。

装完用左侧菜单的「终端」(或者用 Xshell、FinalShell 这类 SSH 工具连服务器)执行:

composer -v

输出 Composer version 2.x.x 就说明装好了。如果提示 command not found,先执行 source /etc/profile 再试一次。

注意:当前 SSH 会话可能还没加载环境变量,新开一个连接窗口通常就正常了。

第二步:确认 Composer 用的是哪个 PHP

一台服务器上往往装了 PHP 7.4、8.0、8.2 好几个版本,Composer 默认调用的不一定是你站点正在用的那个。执行:

php -v

把输出的版本号,和「网站 → 站点 → 设置 → PHP版本」里选的那个对一下。对不上就在命令里显式指定 PHP 路径,比如用 PHP 8.2:

/www/server/php/82/bin/php /www/server/php/82/bin/composer -v

宝塔的 PHP 都装在 /www/server/php/版本号/ 下,8.2 是 82,7.4 是 74,很好记。

注意:Composer 是按它调用的那个 PHP 做平台检查的。版本选错会出现「your requirements could not be resolved」这种看着很吓人的报错,其实只是 PHP 找错了。

第三步:配置国内镜像

Composer 默认从国外的 packagist.org 拉包,国内经常卡住或超时。换成阿里云镜像,执行:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

这是全局配置,配一次所有项目都生效。想确认是否生效,执行 composer config -g -l 看仓库地址。

第四步:在项目目录安装依赖

这一步在具体站点目录里执行,做完之后项目根目录下会多出一个 vendor 文件夹。

宝塔新建的站点一般在 /www/wwwroot/ 下,假设你的站点是 /www/wwwroot/mysite:

cd /www/wwwroot/mysite
composer install

目录里有 composer.lock 就用 install,它严格按锁定版本装。只是想新增一个包,用:

composer require phpmailer/phpmailer

正式上线的站点建议跳过开发依赖:

composer install --no-dev --optimize-autoloader

注意:如果用 root 执行 composer,生成的 vendor 目录属主就是 root。网站是 www 用户跑的,读不到就直接 500,下一步别跳过。

第五步:修正 vendor 目录属主

做完这一步,网站进程才能正常读取依赖文件:

chown -R www:www /www/wwwroot/mysite/vendor

如果整个站点都该归 www,直接 chown -R www:www /www/wwwroot/mysite。

注意:别图省事 chmod -R 777。那样确实不报错了,但等于把目录对所有人开放,是典型的安全隐患,改属主才是对的。

第六步:两个高频报错怎么处理

proc_open has been disabled。 宝塔的 PHP 默认禁用了一批危险函数,Composer 执行脚本时会用到 proc_open。到「软件商店 → 已安装 → 找到对应版本的 PHP → 设置 → 禁用函数」里,把 proc_open 删除,保存后重启 PHP。

Allowed memory size exhausted。 依赖多的时候内存不够,临时放开限制:

php -d memory_limit=-1 /usr/bin/composer install

composer 不在 /usr/bin 下的话,用 which composer 查真实路径。

小结

  • 装 Composer:软件商店搜 Composer 安装,终端 composer -v 验证。
  • 先确认 Composer 调用的 PHP 版本和站点一致,不一致就用完整路径 /www/server/php/82/bin/php。
  • 全局换阿里云镜像,避免下载超时。
  • 在站点目录执行 composer install,生产环境加 --no-dev。
  • 执行完用 chown -R www:www 修属主,不要用 chmod 777。
  • proc_open 被禁用、内存不足是最常见的两个报错。
版权声明:本文来自 GJ站长论坛《宝塔面板 Composer 怎么用》
原文链接:https://www.gj0.com/thread-1085.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~