我正在尝试使用pheanstalk设置BeanStalkD客户端。
我可以执行某些操作,例如listTubes()。
当我尝试从beantalkd队列中保留作业时,出现以下错误:
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-> dispatchComman d(对象(Pheanstalk \ Command \ ReserveCommand)) #3 C:\ SmartParking \ vendor \ pda \ pheanstalk \ src \ Pheanstalk.php(255):Pheanstalk \ Pheanstalk-> dispatch(Objec t(听筒\命令\储备命令)) #4 C:\ SmartParking \ SecondAttempt.php(22):Pheanstalk \ Pheanstalk-> reserve() #5 {main} 在第49行的C:\ SmartParking \ vendor \ pda \ pheanstalk \ src \ Socket \ FileSocket.php中抛出
我需要怎么做才能解决此问题?
我尝试过:
各种版本的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);
}
答案 0 :(得分:0)
我的PHP.ini
中没有启用套接字
所以我改变了:
;extension=sockets
到
extension=sockets
如果您将PHP用作Web服务器的一部分,则此时必须重新启动它。
这解决了我的问题。