我正在尝试与僵尸驱动程序创建貂连接,但我得到一个错误。所有的端口都是打开的,我已经尝试使用我的服务器IP。
我代码:$driver = new BehatMinkDriverZombieDriver('127.0.0.1');
$zombieSession = new BehatMinkSession($driver);
$zombieSession->start();
错误:Fatal error: Uncaught exception 'RuntimeException' with message 'Server process has
been terminated: (127) [sh: node: command not found ]' in /home/runniog5/public_html/subdomains/testing4/vendor/behat/mink-zombie-driver/src/Behat/Mink/Driver/NodeJS/Server.php:406
Stack trace: #0 /home/runniog5/public_html/subdomains/testing4/vendor/behat/mink-zombie-driver/src/Behat/Mink/Driver/NodeJS/Server.php(302):
BehatMinkDriverNodeJSServer->checkAvailability() #1 /home/runniog5/public_html/subdomains/testing4/vendor/behat/mink-zombie-driver/src/Behat/Mink/Driver/ZombieDriver.php(107):
BehatMinkDriverNodeJSServer->start() #2 /home/runniog5/public_html/subdomains/testing4/vendor/behat/mink/src/Behat/Mink/Session.php(62):
BehatMinkDriverZombieDriver->start() #3 /home/runniog5/public_html/subdomains/testing4/test.php(114):
BehatMinkSession->start() #4 {main} thrown in /home/runniog5/public_html/subdomains/testing4/vendor/behat/mink-zombie-driver/src/Behat/Mink/Driver/NodeJS/Server.php
on line 406
确保您已经安装了Node并且它可以正常工作。Server process has
been terminated: (127) [sh: node: command not found ]
告诉您shell找不到节点命令。为了验证你已经得到它,运行node -v
,它应该打印当前安装的版本。
问题是ZombieServer不知道节点二进制文件的路径。要解决这个问题,使用以下代码:
$zombieServer = new ZombieServer($host, $port, $pathToYourNodeBinary, $serverPath, $threshold, $pathToYourNodeModules);
$zombieDriver = new ZombieDriver($zombieServer);
$session = new Session($zombieDriver);
$mink = new Mink(array('zombie' => $session));
在我的例子中,$ pathtoyournodebary和$ pathtoyournodemomodules是:
$pathToYourNodeBinary = '/usr/local/bin/node';
$pathToYourNodeModules = '/usr/local/lib/node_modules/';
你可以使用这些命令来了解你的路径(如果你运行的是Mac和OSX):
which node
which npm
当然,您需要设置其余的ZombieServer构造函数变量。要了解默认值,只需查看供应商库或github.com