What are possible causes of "Class 'DOMImplementation' not found" errors?
I am having issues with a module, which uses PHP's DOM extension via the CFPropertyList library, to a client's server. Attempting to run the module ends in a fatal error:
Fatal error: Class 'DOMImplementation' not found in /server/path/here/CFPropertyList/CFPropertyList.php on line 377
The client's server is pretty seriously out-of-date (Apache 2.2.3, PHP 5.2.6, etc.), which is another battle on another front that I will probably lose. However, PHP's documentation of the DOMImplementation class indicates support was 开发者_如何学Cadded in PHP 5, so 5.2.6 should be good enough despite being years behind (right?).
Looking at the output of phpinfo()
suggests libxml
is installed and enabled, which put the kibosh on my other theory.
libxml section of phpinfo()
output:
libXML support active
libXML Version 2.6.26
libXML streams enabled
What other causes could I be looking at to explain this error?
DOM might have been disabled at compile time (for a compiled installation) using the --disable-dom
switch.
Or, in the case of a pre-compiled PHP binary (e.g.: installed using apt, yum, rpm, alien, dpkg, etc.), the DOM extension was not installed, or disabled. Look for dom.so
file and a matching entry in your php.ini.
libxml
may be installed, but it doesn't mean that DOM is.
精彩评论