coderstephen/robo-ftp

此包已被废弃,不再维护。未建议替代包。

Robo的FTP(S)任务

v0.1.2 2015-02-16 16:33 UTC

This package is not auto-updated.

Last update: 2020-03-02 04:30:12 UTC


README

Version License Downloads

这是一个简单的任务,用于Robo任务运行器,通过FTP将文件部署到远程服务器。如果您没有SSH访问权限,或者在需要更好的平台独立性时,这个任务非常有用。

安装

将此包添加到您的依赖列表中

composer require --dev coderstephen/robo-ftp

此任务使用dg/ftp-php建立FTP连接,它是内置FTP PHP扩展的一个薄包装器。大多数PHP安装都编译了这个扩展,所以这个任务应该可以在几乎任何有PHP解释器的环境中运行。

用法

只需在您的RoboFile.php文件中包含FtpDepoly特性,然后使用$this->taskFtpDeploy()运行FTP部署任务。

class RoboFile extends \Robo\Tasks
{
    use RoboFtp\FtpDeploy;

    function deploy()
    {
        $ftp = $this->taskFtpDeploy('host', 'user', 'password')
            ->dir('/')
            ->from('.')
            ->exclude('build')
            ->exclude('cache')
            ->skipSizeEqual()
            ->skipUnmodified()
            ->run();
    }
}

SSL支持

此任务默认支持通过SSL使用FTP。您需要SSL扩展才能使其工作,这在Windows上并不总是可用。如果您想禁用任务的SSL,可以使用secure()方法。

class RoboFile extends \Robo\Tasks
{
    use RoboFtp\FtpDeploy;

    function deploy()
    {
        $ftp = $this->taskFtpDeploy('host', 'user', 'password')
            ->dir('wwwroot')
            ->from('public')
            ->secure(false)
            ->run();
    }
}

请注意,一些Windows服务器可能不正确地支持FTP/S,并且在通过SSL上传文件时可能会出错。Microsoft已为这个错误提供了热修复,但默认情况下并未分发。更多信息请参阅这里