环境:CentOS 6.5 64bit
PHP版本:5.3.3
【问题】
搭建stalker server,登陆管理页面后进入IPTV channels/Channels下,Add a channel:http://10.209.177.82/stalker_portal/server/adm/tv-channels/iptv-list/add-channel出现错误:HTTP ERROR 500
同样,进入Users下Add user:http://10.209.177.82/stalker_portal/server/adm/users/add-users 出现错误:HTTP ERROR 500
从/etc/httpd/logs/stalker-error_log看到错误信息:
PHP Fatal error: Class 'DOMDocument' not found in /var/www/html/stalker_portal/admin/vendor/symfony/config/Symfony/Component/Config/Util/XmlUtils.php on line 52, referer: http://10.209.177.82/stalker_portal/server/adm/tv-channels/iptv-list
PHP Fatal error: Class 'DOMDocument' not found in /var/www/html/stalker_portal/admin/vendor/symfony/config/Symfony/Component/Config/Util/XmlUtils.php on line 52, referer: http://10.209.177.82/stalker_portal/server/adm/users/users-list
【解决方法】
从错误信息描述来看,是没有安装DOM扩展,对应只要安装php-xml就可以解决。
参考内容:https://stackoverflow.com/questions/14395239/class-domdocument-not-found
1.检查php_xml是不是这个扩展没有安装或打开。
[root@localhost stalker_portal]# php -m | grep xml
libxml
xml
[root@localhost stalker_portal]# php -m
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
ereg
exif
fileinfo
filter
ftp
geoip
gettext
gmp
hash
iconv
imagick
intl
ionCube Loader
json
libxml
mbstring
mcrypt
memcache
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
tidy
tokenizer
xml
zip
zlib
[Zend Modules]
the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured)
[root@localhost stalker_portal]# ll /etc/php.d/
total 76
-rw-r--r-- 1 root root 49 Mar 22 2017 curl.ini
-rw-r--r-- 1 root root 57 Mar 22 2017 fileinfo.ini
-rw-r--r-- 1 root root 90 Jan 23 17:54 geoip.ini
-rw-r--r-- 1 root root 55 Jan 23 11:01 imagick.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 intl.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 json.ini
-rw-r--r-- 1 root root 57 Mar 22 2017 mbstring.ini
-rw-r--r-- 1 root root 53 Jan 18 13:47 mcrypt.ini
-rw-r--r-- 1 root root 1329 Jun 22 2012 memcache.ini
-rw-r--r-- 1 root root 53 Mar 22 2017 mysqli.ini
-rw-r--r-- 1 root root 51 Mar 22 2017 mysql.ini
-rw-r--r-- 1 root root 47 Mar 22 2017 pdo.ini
-rw-r--r-- 1 root root 59 Mar 22 2017 pdo_mysql.ini
-rw-r--r-- 1 root root 61 Mar 22 2017 pdo_sqlite.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 phar.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 soap.ini
-rw-r--r-- 1 root root 55 Mar 22 2017 sqlite3.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 tidy.ini
-rw-r--r-- 1 root root 47 Mar 22 2017 zip.ini
[root@localhost stalker_portal]# ll /usr/lib64/php/modules/
total 8040
-rwxr-xr-x 1 root root 66448 Mar 22 2017 curl.so
-rwxr-xr-x 1 root root 1843120 Mar 22 2017 fileinfo.so
-rwxr-xr-x 1 root root 65975 Jan 23 17:37 geoip.so
-rwxr-xr-x 1 root root 1093629 Jan 23 10:46 imagick.so
-rwxr-xr-x 1 root root 170384 Mar 22 2017 intl.so
-rw-r--r-- 1 root root 1362440 Jan 24 17:23 ioncube_loader_lin_5.3.so
-rwxr-xr-x 1 root root 36200 Mar 22 2017 json.so
-rwxr-xr-x 1 root root 2183496 Mar 22 2017 mbstring.so
-rwxr-xr-x 1 root root 144580 Jan 18 11:36 mcrypt.so
-rwxr-xr-x 1 root root 98536 Jun 22 2012 memcache.so
-rwxr-xr-x 1 root root 136832 Mar 22 2017 mysqli.so
-rwxr-xr-x 1 root root 54408 Mar 22 2017 mysql.so
-rwxr-xr-x 1 root root 30112 Mar 22 2017 pdo_mysql.so
-rwxr-xr-x 1 root root 102456 Mar 22 2017 pdo.so
-rwxr-xr-x 1 root root 24640 Mar 22 2017 pdo_sqlite.so
-rwxr-xr-x 1 root root 261392 Mar 22 2017 phar.so
-rwxr-xr-x 1 root root 332896 Mar 22 2017 soap.so
-rwxr-xr-x 1 root root 44368 Mar 22 2017 sqlite3.so
-rwxr-xr-x 1 root root 49320 Mar 22 2017 tidy.so
-rwxr-xr-x 1 root root 83088 Mar 22 2017 zip.so
2.安装php-xml
[root@localhost stalker_portal]# yum install php-xml
Dependencies Resolved
===============================================================================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================================================================
Installing:
php-xml x86_64 5.3.3-49.el6 base 108 k
Transaction Summary
===============================================================================================================================================================================================================
Install 1 Package(s)
Total download size: 108 k
Installed size: 307 k
Is this ok [y/N]: y
Downloading Packages:
php-xml-5.3.3-49.el6.x86_64.rpm | 108 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php-xml-5.3.3-49.el6.x86_64 1/1
Verifying : php-xml-5.3.3-49.el6.x86_64 1/1
Installed:
php-xml.x86_64 0:5.3.3-49.el6
Complete!
安装完成后,查看:
[root@localhost stalker_portal]# php -m | grep xml
libxml
xml
xmlreader
xmlwriter
[root@localhost stalker_portal]# php -m
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
geoip
gettext
gmp
hash
iconv
imagick
intl
ionCube Loader
json
libxml
mbstring
mcrypt
memcache
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
tidy
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured)
[root@localhost stalker_portal]# ll /etc/php.d/
total 96
-rw-r--r-- 1 root root 49 Mar 22 2017 curl.ini
-rw-r--r-- 1 root root 47 Mar 22 2017 dom.ini
-rw-r--r-- 1 root root 57 Mar 22 2017 fileinfo.ini
-rw-r--r-- 1 root root 90 Jan 23 17:54 geoip.ini
-rw-r--r-- 1 root root 55 Jan 23 11:01 imagick.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 intl.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 json.ini
-rw-r--r-- 1 root root 57 Mar 22 2017 mbstring.ini
-rw-r--r-- 1 root root 53 Jan 18 13:47 mcrypt.ini
-rw-r--r-- 1 root root 1329 Jun 22 2012 memcache.ini
-rw-r--r-- 1 root root 53 Mar 22 2017 mysqli.ini
-rw-r--r-- 1 root root 51 Mar 22 2017 mysql.ini
-rw-r--r-- 1 root root 47 Mar 22 2017 pdo.ini
-rw-r--r-- 1 root root 59 Mar 22 2017 pdo_mysql.ini
-rw-r--r-- 1 root root 61 Mar 22 2017 pdo_sqlite.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 phar.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 soap.ini
-rw-r--r-- 1 root root 55 Mar 22 2017 sqlite3.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 tidy.ini
-rw-r--r-- 1 root root 49 Mar 22 2017 wddx.ini
-rw-r--r-- 1 root root 59 Mar 22 2017 xmlreader.ini
-rw-r--r-- 1 root root 59 Mar 22 2017 xmlwriter.ini
-rw-r--r-- 1 root root 47 Mar 22 2017 xsl.ini
-rw-r--r-- 1 root root 47 Mar 22 2017 zip.ini
[root@localhost stalker_portal]# ll /usr/lib64/php/modules/
total 8360
-rwxr-xr-x 1 root root 66448 Mar 22 2017 curl.so
-rwxr-xr-x 1 root root 170360 Mar 22 2017 dom.so
-rwxr-xr-x 1 root root 1843120 Mar 22 2017 fileinfo.so
-rwxr-xr-x 1 root root 65975 Jan 23 17:37 geoip.so
-rwxr-xr-x 1 root root 1093629 Jan 23 10:46 imagick.so
-rwxr-xr-x 1 root root 170384 Mar 22 2017 intl.so
-rw-r--r-- 1 root root 1362440 Jan 24 17:23 ioncube_loader_lin_5.3.so
-rwxr-xr-x 1 root root 36200 Mar 22 2017 json.so
-rwxr-xr-x 1 root root 2183496 Mar 22 2017 mbstring.so
-rwxr-xr-x 1 root root 144580 Jan 18 11:36 mcrypt.so
-rwxr-xr-x 1 root root 98536 Jun 22 2012 memcache.so
-rwxr-xr-x 1 root root 136832 Mar 22 2017 mysqli.so
-rwxr-xr-x 1 root root 54408 Mar 22 2017 mysql.so
-rwxr-xr-x 1 root root 30112 Mar 22 2017 pdo_mysql.so
-rwxr-xr-x 1 root root 102456 Mar 22 2017 pdo.so
-rwxr-xr-x 1 root root 24640 Mar 22 2017 pdo_sqlite.so
-rwxr-xr-x 1 root root 261392 Mar 22 2017 phar.so
-rwxr-xr-x 1 root root 332896 Mar 22 2017 soap.so
-rwxr-xr-x 1 root root 44368 Mar 22 2017 sqlite3.so
-rwxr-xr-x 1 root root 49320 Mar 22 2017 tidy.so
-rwxr-xr-x 1 root root 33320 Mar 22 2017 wddx.so
-rwxr-xr-x 1 root root 30096 Mar 22 2017 xmlreader.so
-rwxr-xr-x 1 root root 46736 Mar 22 2017 xmlwriter.so
-rwxr-xr-x 1 root root 34056 Mar 22 2017 xsl.so
-rwxr-xr-x 1 root root 83088 Mar 22 2017 zip.so
安装php-xml前后对比,发现多了扩展:dom.so wddx.so xmlreader.so xmlwriter.so xsl.so
重启Apache
[root@localhost stalker_portal]# service httpd restart
3.检测是否安装成功
在网站目录下新建一个phpinfo.php测试页面,写上下面代码,保存。
- <?php
- phpinfo();
- ?>
之后再测试:
登陆管理页面后进入IPTV channels/Channels下,Add a channel:http://10.209.177.82/stalker_portal/server/adm/tv-channels/iptv-list/add-channel 成功。
同样,进入Users下Add user:http://10.209.177.82/stalker_portal/server/adm/users/add-users 成功。