Я пытаюсь инициализировать поток из команды Symfony 4 из CLI, но получаю сообщение «Ошибка шины: 10».
<?php
namespace App\Command;
use Thread;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class LaunchMyAppCommand extends Command
{
protected function configure()
{
$this->setName('app:launch-myapp');
$this->setDescription('Launches app.');
$this->setHelp('This launches app...');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$thread = new class extends Thread {
public function run() {
file_put_contents('/tmp/myapp.log', 'My entry', FILE_APPEND);
}
};
$thread->start();
}
}
$ php bin/console app:launch-myapp
Bus error: 10
Я попытался скопировать часть инициализации в отдельный файл для отладки, что сработало. Таким образом, pthreads, кажется, установлен правильно. Также, согласно phpinfo (), включена защита потоков.
<?php
$thread = new class extends Thread {
public function run() {
file_put_contents('/tmp/home.log', 'My entry', FILE_APPEND);
}
};
$thread->start();
Задача ещё не решена.
Других решений пока нет …