PhpStorm SQLite远程SSH

时间:2018-01-12 21:29:28

标签: php ssh sqlite phpunit phpstorm

关于

我使用sqlite3使用PHPUnit测试我的数据库类,我想知道是否有通过SSH远程SQLite的方法(我将我的文件远程连接到Debian服务器)直接从PhpStorm的运行/调试菜单中进行操作(v2017.3)。

目前我可以直接从SSH终端运行命令(vendor/bin/phpunit)并且它可以正常工作但是直接设置它会很疯狂所以我只需点击一下就可以运行它并使用所有工具PhpStorm提供(如覆盖按钮等):)

我的设置

在我的测试文件

public function getPdo(): PDO
{
    return new PDO('sqlite::memory:', null, null, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ
    ]);
}

public function getManager(PDO $pdo): Manager
{
    $configArray = require(dirname(__DIR__) . '/phinx.php');
    $configArray['environments']['test'] = [
        'adapter' => 'sqlite',
        'connection' => $pdo
    ];
    $config = new Config($configArray);
    return new Manager($config, new StringInput(' '), new NullOutput());
}
  

它允许您伪造数据库以进行测试

我的远程SSH配置: My remote SSH configurations

我的PHPUnit配置: My PHPUnit configurations

我的运行/调试PHPUnit测试: My run/debug PHPUnit testing

我的远程SSH服务器在~/www

上运行apache2

我希望它如何工作

How I would like it to work (就像我通常没有远程SSH一样)

当我使用当前配置

运行时,我得到了什么
PDOException : SQLSTATE[HY000] [2002] No connection could be established because the target computer explicitly refused.

我听说SQLite没有涵盖这些案例,但是如果你有一个想法我会接受它(或告诉我它是否可能)因为我没有任何解决方法。

如果您需要其他详细信息,请不要'。

1 个答案:

答案 0 :(得分:0)

  • 您需要首先设置Remote PHP Interpreter - 这将允许在远程计算机(另一台物理计算机,VM,Docker容器)上执行PHP脚本。
  • 然后设置远程PHPUnit配置 - 这将允许从IDE(使用标准接口)但在远程机器上运行PHPUnit。

更详细的信息:https://confluence.jetbrains.com/display/PhpStorm/Running+PHPUnit+tests+over+SSH+on+a+remote+server+with+PhpStorm

其他教程和手册:https://confluence.jetbrains.com/display/PhpStorm/Tutorials