rapid/voyager

此包的最新版本(dev-main)没有可用的许可信息。

简单强大的文件转换器

dev-main 2024-07-29 16:06 UTC

This package is auto-updated.

Last update: 2024-09-29 16:28:13 UTC


README

一键将项目文件传输到主机/服务器。

安装

安装包

composer require rapid/voyager

创建根文件

创建一个类似 voy.php 的文件,内容如下

<?php

use Rapid\Voyager\Voyager;

require_once __DIR__ . '/vendor/autoload.php';

# Configuration
$voy = Voyager::factory(__FILE__, __DIR__);
$voy->remote("https://example.com/voy.php", 'SECURITY_KEY');

# Sources
//$voy->source('src');

$voy->start();

配置

让我逐行解释配置文件

这正在创建一个 Voyager 的新实例。第一个参数是 voy.php 文件的路径,第二个是根文件夹路径,最后一个是为服务器端(可选)的根文件夹路径。

$voy = Voyager::factory(__FILE__, __DIR__);

你应该设置远程 URL 和安全密钥。安全密钥建议是唯一和随机的。

在后台,安全密钥用于散列和验证数据以及上传文件。它就像授权一样。

$voy->remote("https://example.com/voy.php", 'SECURITY_KEY');

你可以添加用于上传的源代码(文件夹或文件)

$voy->source('src');
$voy->source('composer.json');

设置 & 运行

编辑 voy.php

首先,你应该编辑 voy.php 文件。稍后编辑此文件可能会产生一些错误。

此外,如果你在客户端编辑此文件,客户端会要求你更新此文件!这意味着 Voyager 将该文件上传到服务器并更新。

第一次上传

第一次你应该上传 voy.phpcomposer.json 文件以及 vendor 文件夹到服务器/主机。运行 voy.php 和 composer 自动加载文件所需的一切都需要上传。

上传命令

执行以下命令以更新服务器/主机的文件

php voy.php

Voyager 智能高效!查看概念。

概念

当你更新文件时,Voyager 从你的本地文件中创建快照,然后从服务器端文件获取最后一个快照。

然后比较快照并检测更新(例如,新文件、删除的文件、编辑的文件)。

最后仅上传更新文件以提高速度。

如果服务器端的一些文件发生了变化,Voyager 不会检测到!所以你不应该更改服务器端的文件。

模板

服务器端的 Laravel

<?php

use Rapid\Voyager\Voyager;

require_once __DIR__ . '/vendor/autoload.php';

# Configuration
$voy = Voyager::factory(__FILE__, __DIR__, __DIR__ . '/..');
$voy->remote("https://example.com/voy.php", 'SECURITY_KEY');

# Sources
$voy->sourceRoot();
$voy->source('public', 'public_html');

$voy->exclude('voy.php');
$voy->exclude(['vendor', 'node_modules']);
$voy->exclude(['public/hot']);
$voy->exclude(['database/database.sql']);

$voy->instead('.env', '.env.production');

$voy->start();

主机端的 Laravel

<?php

use Rapid\Voyager\Voyager;

require_once __DIR__ . '/vendor/autoload.php';

# Configuration
$voy = Voyager::factory(__FILE__, __DIR__, __DIR__ . '/../ROOT_PATH');
$voy->remote("https://example.com/voy.php", 'SECURITY_KEY');

# Sources
$voy->sourceRoot();
$voy->source('public', '../public_html');

$voy->exclude('voy.php');
$voy->exclude(['vendor', 'node_modules']);
$voy->exclude(['public/hot']);
$voy->exclude(['database/database.sql']);

$voy->instead('.env', '.env.production');

$voy->start();