Question

I am running Laravel on HHVM and working with Amazon SQS. I am able to connect to the Queue and push messages to it. I am able to connect and receive from it, as well.

The Problem: With HHVM the jobs returned from the Queue are empty, whereas when I run the site on traditional php 5.5, i get the full queue message

Response with HHVM

Guzzle\Service\Resource\Model Object
(
    [structure:protected] => 
    [data:protected] => Array
    (
    )

)

Response using PHP 5.5.9

object(Guzzle\Service\Resource\Model)#1154 (2) {
  ["structure":protected]=>
  NULL
  ["data":protected]=>
  array(2) {
    ["ResponseMetadata"]=>
    array(1) {
      ["RequestId"]=>
      string(36) "requestID here"
    }
    ["Messages"]=>
    array(1) {
      [0]=>
      array(5) {
        ["Body"]=>
        string(102) "{"job":"GameWisp\\Commands\\ProcessThisThing","data":{"url":"https:\/\/domain.com\/thing\/id"}}"
        ["MD5OfBody"]=>
        string(32) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"    
        ["ReceiptHandle"]=>
        string(300) "stuff was here"
        ["MessageId"]=>
        string(36) "ID was here"
        ["Attributes"]=>
        array(1) {
          ["ApproximateReceiveCount"]=>
          string(1) "3"
        }
      }
    }
  }
}

Details:

  • I am using the aws sdk and loading it via composer.
  • It seems to me that the problem is actually happening somewhere in the aws sdk

Have any of you run into anything like this before?

Was it helpful?

Solution

The AWS SDK for PHP is not guaranteed to work on HHVM. HHVM still has some issues to fix before Guzzle and the AWS SDK for PHP will be fully compatible.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top