我正在尝试使用 Symfony/Process 组件为 linux 执行独立的 chromedriver。这是项目的文件夹结构:
.
├── bin
│ └── chromedriver-linux
├── composer.json
├── index.php
└── vendor
这index.php
是我要执行的代码:
<?php
require 'vendor/autoload.php';
use Symfony\Component\Process\Process;
$process = new Process(
[realpath(__DIR__.'/bin/chromedriver-linux')], null, ['DISPLAY' => ':0']
);
$process->start();
if (!$process->isSuccessful()) {
throw new \Symfony\Component\Process\Exception\ProcessFailedException($process);
}
然而情况变得更糟了。现在没有错误输出,它只是抛出一个异常,如:
Fatal error: Uncaught Symfony\Component\Process\Exception\ProcessFailedException: The command "'/home/vagrant/Code/development/test-project/bin/chromedriver-linux'" failed. Exit Code: () Working directory: /home/vagrant/Code/development/dusk-2.0 Output: ================ Error Output: ================ in /home/vagrant/Code/development/test-project/index.php on line 14