rapid / voyager
此包的最新版本(dev-main)没有可用的许可信息。
简单强大的文件转换器
dev-main
2024-07-29 16:06 UTC
Requires
- php: ^8.2
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.php
、composer.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();