Как исправить 'PHP Fatal Error: Uncaught Pheanstalk \ Exception \ SocketException: Неизвестная ошибка' - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь настроить клиент BeanStalkD, используя pheanstalk.

Я могу выполнять определенные операции, такие как listTubes ().

Когда я пытаюсь зарезервировать задание вне beanstalkdочередь Я получаю следующую ошибку:

Неустранимая ошибка PHP: Uncaught Pheanstalk \ Exception \ SocketException: неизвестная ошибка в C: \ SmartParking \ vendo r \ pda \ pheanstalk \ src \ Socket \ FileSocket.php: 49 Трассировка стека: # 0 C: \ SmartParking \ vendor \ pda \ pheanstalk \ src \ Socket \ FileSocket.php (91): Pheanstalk \ Socket \ FileSocket-> t hrowException () # 1 C: \ SmartParking \ vendor \ pda\ pheanstalk \ src \ Connection.php (84): Pheanstalk \ Socket \ FileSocket-> getLine () # 2 C: \ SmartParking \ vendor \ pda \ pheanstalk \ src \ Pheanstalk.php (372): Pheanstalk \ Connection-> dispatchCommand (Object (Pheanstalk \ Command \ ReserveCommand)) # 3 C: \ SmartParking \ vendor \ pda \ pheanstalk \ src \ Pheanstalk.php (255): диспетчеризация Pheanstalk \ Pheanstalk-> (объект t (Pheanstalk \ Command \ ReserveCommand))# 4 C: \ SmartParking \ SecondAttempt.php (22): Pheanstalk \ Pheanstalk-> резерв() # 5 {main} в C: \ SmartParking \ vendor \ pda \ pheanstalk \ src \ Socket \ FileSocket.php в строке 49

Что мне нужно сделать, чтобы решить эту проблему?

Я пробовал:

Различные версии PHP, различные версии pheanstalk, перезапуск всего, включая сам сервер BeanStalkD.

Это все работает на фирменном Windows Server2016, PHP просто используется как механизм сценариев из командной строки.

В настоящее время я использую PHP версии 7.2.

// Hopefully you're using Composer autoloading.
require('vendor/autoload.php');
use Pheanstalk\Pheanstalk;
// Create using autodetection of socket implementation
$pheanstalk = Pheanstalk::create('127.0.0.1');

var_dump($pheanstalk->listTubes());

while(true){
  $job = $pheanstalk
  ->watch('alpr-alt')
  ->reserve();

  echo json_decode($job->getData(), true);
}

1 Ответ

0 голосов
/ 28 марта 2019

У меня не было включенных сокетов в PHP.ini

Итак, я изменил:

;extension=sockets

до

extension=sockets

Если вы используете PHP как часть веб-сервера, вам придется перезапустить его на этом этапе.

И это решило мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...