Zend Soap AutoDiscover conflicts with EAccelerator
Appearance
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 0Now 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,