Я использую усадьбу Laravel и пишу небольшой инструмент командной строки кустарного промысла, который мне нужен, чтобы просматривать мой сайт с помощью выполнения javascript.
Я регулярно запускаю сумерки без проблем, поэтому я подумал, чтобудет использовать инструменты Laravel для этого сценария.
Я начал с запуска этого сценария в начале:
\Laravel\Dusk\TestCase::startChromeDriver();
Это запустило драйвер, работающий нормально на порту 9515, работающем от имени пользователя vagrant
(пользователь усадьбы по умолчанию)
Но когда я попытался получить к нему доступ (также из скрипта), я получил бы ошибку:
Failed to connect to localhost port 9515: Connection refused
Если бы я вместо этого запустил еговручную в командной строке:
$ ./vendor/laravel/dusk/bin/chromedriver-linux --port=9515
Драйвер снова начал нормально работать на порту 9515 как пользователь vagrant
, но на этот раз мой инструмент работает нормально.
Но я действительно хочу иметь возможность запустить ChromeDriver из инструмента.Поэтому я также попытался:
$process = new \Symfony\Component\Process\Process('./vendor/laravel/dusk/bin/chromedriver-linux --port=9515');
$process->start();
В соединении снова было отказано.
Есть идеи, почему это работает, когда я запускаю его из командной строки, но не в рамках своей команды ремесленника?