我正在尝试使用 pheanstalk 设置一个 BeanStalkD 客户端。
我可以执行某些操作,例如 listTubes()。
当我尝试从 beanstalkd 队列中保留工作时,我收到以下错误:
PHP 致命错误:未捕获的 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(对象(Pheanstalk\Command\ReserveCommand)) #3 C:\SmartParking \vendor\pda\pheanstalk\src\Pheanstalk.php(255): Pheanstalk\Pheanstalk->dispatch(Objec t(Pheanstalk\Command\ReserveCommand)) #4 C:\SmartParking\SecondAttempt.php(22): Pheanstalk\Pheanstalk ->在第 49 行的 C:\SmartParking\vendor\pda\pheanstalk\src\Socket\FileSocket.php 中抛出的 reserve() #5 {main}
我需要做什么来解决这个问题?
我试过了:
各种版本的 PHP,各种版本的 pheanstalk,重启一切,包括 BeanStalkD 服务器本身。
这一切都在品牌 Windows Server 2016 上运行,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);
}