php pthreads: 'PHP Fatal error', 'Fatal error' в CLI

1

Я провел весь пример https://github.com/krakjoe/pthreads/tree/seven/examples в CLI. После выполнения каждого из них я получаю PHP Fatal error и Fatal error, в дополнение к ожидаемому результату. Например, в этом случае https://github.com/krakjoe/pthreads/blob/seven/examples/ClosureFuture.php Я получу:

object(Volatile)#6 (2) { 
[0]=> 
    string(5) "Hello" 
[1]=> 
    string(5) "World" 
} 
array(2) { 
[0]=> 
    string(5) "Hello" 
[1]=> 
    string(5) "World" 
}

PHP Неустранимая ошибка: невозможно объявить класс Future, потому что имя уже используется в /var/www/test/index1.php в строке 42

Неустранимая ошибка: невозможно объявить класс Future, потому что имя уже используется в /var/www/test/index1.php в строке 42

Во всех примерах ошибка возникла, когда расширенный класс закрыт.

Вы знаете причину этих ошибок и как их исправить? Любая помощь будет оценена.

class Future extends Thread {
    private function __construct(Closure $closure, array $args = []) {
        $this->closure = $closure;
        $this->args    = $args; 
    }
    public function run() {
        $this->synchronized(function() {
            $this->result = 
                ($this->closure)(...$this->args);
            $this->notify();
        });
    }
    public function getResult() {
        return $this->synchronized(function(){
            while (!$this->result)
                $this->wait();
            return $this->result;
        });
    }

    public static function of(Closure $closure, array $args = []) {
        $future = 
            new self($closure, $args);
        $future->start();
        return $future;
    }

    protected $owner;
    protected $closure;
    protected $args;
    protected $result;
}//line 42
Теги:
pthreads

2 ответа

0

Похоже, что вы обнаружили ошибку или некоторые ошибки в pthreads, сообщите об этом в github.

Пожалуйста, включите в отчет как можно больше информации. "Неустранимая ошибка" не очень полезна.

PHP7 и pthreads v3 являются предварительным качеством выпуска, цитируемый пример ClosureFuture был просто обновлен в последнем фиксации вместе с незначительными изменениями.

0

Проверьте установленную на сервере версию PHP. Согласно документу, его поддержка от (PHP 5> = 5.3.0).

  • 0
    В PHP 7.0.0RC4
  • 0
    Спасибо за ответ, моя текущая версия php 5.5.8, а также я тестировал ее на версиях 7.0.0RC4, 7.0.0RC3, 7.0.0RC2.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню