FAQ

PHP AppFabric SDK v1.0 and PHP 5.2.12

You may encounter issues with AppFabric Service Bus operations (such as creating a message buffer and sending/receiving messages via the message buffer) if you are using PHP 5.2.12. We have identified the cause to issues with HTTPS PUT not working correctly with the CURLOPT_PUT command in PHP 5.2.12.

We are working on publishing a new build of the PHP SDK that works well with PHP 5.2.12. In the meantime, we recommend the following workaround that relies on CURLOPT_POSTFIELDS and CURLOPT_CUSTOMREQUEST options:

  • Open the file [AppFabric PHP Path]\SDK\library\util\curlRequest.php.
  • Search for the text "case 'put'",

    Replace this statement:
    curl_setopt($this->_handle, CURLOPT_PUT, true);

    with the following statements

    curl_setopt($this->_handle, CURLOPT_POST, true);
    curl_setopt($this->_handle, CURLOPT_CUSTOMREQUEST, 'PUT');
  • Seach for "$this->httpVerb = 'put'", and do the same as above.
  • Search for "$fh = tmpfile()", and replace the line from "$fh = tmpfile()" to "fclose($fh)" with

    curl_setopt($this->_handle, CURLOPT_POSTFIELDS, $this->putFields);


Alternatively replace [AppFabric PHP Path]\SDK\library\util\curlRequest.php with this