首页主机资讯centos composer如何迁移

centos composer如何迁移

时间2025-12-17 21:36:04发布访客分类主机资讯浏览1042
导读:CentOS 上 Composer 的迁移与项目迁移指南 一 迁移场景与准备 明确迁移类型: 迁移 Composer 本体(可执行文件、全局配置与缓存目录)。 迁移 PHP 项目(代码、依赖与配置),在 CentOS 上部署并运行。...

CentOS 上 Composer 的迁移与项目迁移指南

一 迁移场景与准备

  • 明确迁移类型:
    • 迁移 Composer 本体(可执行文件、全局配置与缓存目录)。
    • 迁移 PHP 项目(代码、依赖与配置),在 CentOS 上部署并运行。
  • 准备要点:
    • 源机器与目标机器均安装 PHP CLI(建议 PHP ≥ 7.4),并确认版本一致:php -v
    • 目标机安装常用扩展(以 Laravel 为例):sudo yum install -y php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-zip
    • 备份与版本控制:确保项目根目录有 composer.json / composer.lock,并用 Git 管理依赖更可靠。

二 迁移 Composer 本体到新目录

  • 设置新的全局目录(推荐将全局目录放到 /opt/composer):
    1. 编辑 shell 配置:sudo vim /etc/profile.d/composer.sh
      export COMPOSER_HOME="/opt/composer"
      export PATH="$COMPOSER_HOME/vendor/bin:$PATH"
      
    2. 使配置生效:source /etc/profile.d/composer.sh
  • 迁移原有数据(如有历史全局包/配置):
    sudo mkdir -p /opt/composer
    sudo cp -r ~/.composer/* /opt/composer/
    sudo chown -R $(whoami):$(whoami) /opt/composer
    
  • 验证:
    echo $COMPOSER_HOME                 # 应输出 /opt/composer
    composer config --global home       # 同上
    composer global require phpunit/phpunit
    which phpunit                      # 应指向 /opt/composer/vendor/bin/phpunit
    
  • 注意:确保新目录可写,且 PATH 包含 $COMPOSER_HOME/vendor/bin,否则全局命令不可用。

三 迁移 PHP 项目到 CentOS 并恢复依赖

  • 传输代码与配置:
    • 将项目文件(含 composer.json / composer.lock)上传至目标路径,如 /var/www/your_project
    • 复制 .env.example.env 并配置数据库等敏感信息。
  • Web 服务器与目录指向(以 Nginx 为例):
    • root 指向项目的 public 目录,并配置 FastCGI 代理到 php-fpm.sock
    • 示例片段:
      server {
          
        listen 80;
          
        server_name your_domain_or_ip;
          
        root /var/www/your_project/public;
          
        index index.php;
      
        location / {
           try_files $uri $uri/ /index.php?$query_string;
       }
      
        location ~ \.php$ {
          
          fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
          
          fastcgi_index index.php;
          
          fastcgi_param SCRIPT_FILENAME $realpath_root$fastpath_info;
          
          include fastcgi_params;
      
        }
      
        location ~ /\.(?!well-known).* {
           deny all;
       }
      
      }
          
      
    • 启动服务:sudo systemctl start nginx & & sudo systemctl enable nginx
  • 安装依赖与初始化:
    cd /var/www/your_project
    composer install --optimize-autoloader --no-dev
    php artisan key:generate
    # 如有迁移数据:mysql -u user -p db_name <
         dump.sql
    php artisan migrate --force
    
  • 目录权限(以 www:www 为例):
    sudo chown -R www:www /var/www/your_project
    sudo chmod -R 775 /var/www/your_project/storage
    php artisan storage:link
    
  • 常见排错:
    • php artisan storage:link 失败,检查 php.inidisable_functions 是否禁用了所需函数(如 symlink),必要时移除后重启 php-fpm

四 备份与恢复策略

  • 项目级备份与恢复(推荐做法):
    • 备份:cp composer.json composer.lock /backup/
    • 恢复:cp /backup/composer.json composer.lock ./ & & composer install
    • 不建议长期备份体积庞大的 vendor,优先使用 composer.lock 复现依赖;用 Git 管理变更更稳妥。
  • 全局配置迁移(可选):
    • 备份:cp ~/.composer/config.json /backup/composer-global-config.json
    • 恢复:cp /backup/composer-global-config.json ~/.composer/config.json

五 国内镜像与常见问题

  • 提升安装速度(全局镜像,任选其一):
    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    # 或
    composer config -g repo.packagist composer https://packagist.phpcomposer.com
    # 或
    composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
    # 或
    composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/
    
  • 常见问题处理:
    • 缺少扩展(如 fileinfo):在 php.ini 启用或编译扩展后重启 php-fpm
    • 权限问题:确保 storagebootstrap/cacheWeb/PHP-FPM 运行用户可写。
    • 全局命令不可用:确认 $COMPOSER_HOME/vendor/bin 已加入 PATH,并重启终端或重新加载环境。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos composer如何迁移
本文地址: https://pptw.com/jishu/774367.html
mongodb备份在centos上怎么实现 centos防火墙更新有什么影响

游客 回复需填写必要信息