在进行一些操作的时候,同到了这样的寸显示:
我的系统上同时有几个.so
然后我们在php.ini中加载这些.so文件即可。我的版本是
[error] PHP Fatal error: Class 'DOMDocument'
意思很明显,类DOMDocument函数不存在,但该函数为系统函数是xml中的一个扩展。
先说一下,我的操作环境:
Centos 5.7 64
Apache
PHP 5.3.3
解决办法:安装php-xml即可。
但是,在php53中使用yum安装php-xml 是需要搜索到 php53-xml 即:
]# yum search php53-xml
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirror.neu.edu.cn
* updates: mirrors.btte.net
===================================== Matched: php53-xml =====================================
php53-xml.x86_64 : 使用 XML 的 PHP 程序的模块
php53-xmlrpc.x86_64 : 一个用于使用 XML-RPC 协议的 PHP 程序的模块。
然后安装该模块即可。
安装过后要找到dom.so xsl.so 的位置
#find / -name dom.so
# find / -name dom.so
/usr/lib64/php/modules/dom.so
我的系统上同时有几个.so
/usr/lib64/php/modules/dom.so
/usr/lib64/php/modules/wddx.so
/usr/lib64/php/modules/xmlreader.so
/usr/lib64/php/modules/xmlwriter.so
/usr/lib64/php/modules/xsl.so
然后我们在php.ini中加载这些.so文件即可。我的版本是
php -v
PHP 5.3.3 (cli) (built: Oct 31 2014 09:52:36)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
由于 我的php版本和win上的有区别,使用extension_dir = '' 写了后不起作用。
但我发现另一个加载.so文件的方法。即:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
extension=mcrypt.so
extension=dom.so
extension=xmlreader.so
extension=xmlwriter.so
extension=xsl.so
;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;
看到一群.so加载了吧!!!
他竟然是这样加载的!!!囧!!!