问下 如何把下载下来的库文件直接使用 ?

我这边项目在内网里面,没法用 composer,然后我想安装一个插件,我把那个插件包下载下来了,想如何不用composer能直接使用这个插件?
我本地是可以composer的,我能不能直接将本地vendor里面包的文件复制到远程上面去?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

file

2 种方法

  1. 直接打包 vendor 目录上传是没问题的, 这里用的是相对目录

  2. composer/satis 包, 自建一个仓库,如果允许的话,让这个服务器可以访问外网就行。
    composer 镜像地址改成这个

1年前 评论
讨论数量: 15
slowlyo

把整个 vendor 目录同步过去是可以正常使用的

1年前 评论

把整个包传到一个目录里面,然后目录里面创建一个autoload.php

<?php

function classLoader($class)
{
    $path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
    //根据实际情况调整file的文件路径
    $file = __DIR__ .DIRECTORY_SEPARATOR . $path . '.php';
    if (file_exists($file)) {
        require_once $file;
    }
}
spl_autoload_register('classLoader');

要用这个包的类文件,加 require_once "autoload.php";

1年前 评论
忆往昔弹指间 1年前
小猪蹄子 (作者) 1年前
小猪蹄子 (作者) 1年前
忆往昔弹指间 1年前
小猪蹄子 (作者) 1年前
<?php

require './predis/predis/autoload.php';

use Predis\Client;

$server = new Client();

var_dump($server);

这样也不是不行,但是能用 composer 还是用 composer 吧,因为很多包会依赖其他包,全部手动加载挺麻烦的。

1年前 评论

你能够同步文件到内网服务器,那最好的就是你用composer把要用的下载到vendor后复制文件夹到内网

1年前 评论
DogLoML

联网安装好composer依赖之后,把vendor整个复制到内网就行了

1年前 评论
DogLoML

有些包他自己也要依赖其他的包,而被依赖的包可能还依赖其他包,如果你手动处理依赖,会很麻烦

1年前 评论

内网无法使用 composer 那其他包是怎么部署的?

如果有版本控制的话,直接把 composer.lockvendor 提交了,本地照常用就行

如果只针对这个包,可以试下建个目录,优先从这个目录查找包

优点:不影响其他包

"repositories": [
    {
        "type": "path",
        "url": "./path_of_package"
    }
],

补充场景:

  1. 常用的包有 bug,作者还没修改
  2. 给其他包贡献代码,总不能直接改 vendor

把包下载下来,放到指定目录,修改 composer.json

Laravel

1年前 评论

file

2 种方法

  1. 直接打包 vendor 目录上传是没问题的, 这里用的是相对目录

  2. composer/satis 包, 自建一个仓库,如果允许的话,让这个服务器可以访问外网就行。
    composer 镜像地址改成这个

1年前 评论
mouyong

直接上传 vendor 就可以了。

file

1年前 评论

可以的 但你的下载你环境对应的包

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!