Zend Soap AutoDiscover conflicts with EAccelerator

From FVue
Jump to: navigation, search

Problem

When using Zend_Soap_AutoDiscover, the generated WSDL misses the types element:

<types>
  <xsd:schema targetNamespace="http://myserver/soap/index.php"/>
</types>

Environment

  • EAccelerator v0.9.6.1
  • ZendFramework-1.12.3

Solution

It appears that EAccelerator is mangling the PHPDoc comments, which are necessary for Zend_Soap_AutoDiscover to do its work. The solution is to disable EAccelerator, for examply by putting the code below in the .htaccess file of the soap subdirectory:

php_flag eaccelerator.enable 0

Now the generated WSDL is containing complexTypes all right:

<types>
  <xsd:schema targetNamespace="http://myserver/soap/index.php">
    <xsd:complexType name="PersonSoapStruct">
      <xsd:all>
        <xsd:element name="FirstName" type="xsd:string"/>
        <xsd:element name="LastName" type="xsd:string"/>
      </xsd:all>
    </xsd:complexType>
  </xsd:schema>
</types>

Journal

20140304

http://habrahabr.ru/post/122710/
Russian blog post describing the problem thoroughly
http://wordpress.org/support/topic/eaccelerator-php-crashed
Forum thread with solution to disable EAccelerator via .htaccess instead of filter.
http://www.reddit.com/r/lolphp/comments/1l493n/
Within comment it says "import of types isn't there". No solution though,

Comments

blog comments powered by Disqus