New install of ojs-3.1.1-4 on debian 9 xml parse error [solved]

Hi,

I am trying to install ojs version 3.1.1-4 on debian 9 with php 7
php7 + apache + mariadb is installed

I am at point 4) in the installation guide
https://pkp.sfu.ca/ojs/README

When I acces http://myserver.mydomain/path_to_ojs I get an http error 500 (internal errror)

In the /var/log/apache2/error.log I see
root@[myserver]:/var/log/apache2# tail error.log
[Thu Jan 17 06:25:01.550794 2019] [mpm_prefork:notice] [pid 9694] AH00163: Apache/2.4.25 (Debian) configured – resuming normal operations
[Thu Jan 17 06:25:01.550841 2019] [core:notice] [pid 9694] AH00094: Command line: ‘/usr/sbin/apache2’
[Thu Jan 17 09:41:03.673911 2019] [:error] [pid 28892] [client 10.10.144.156:54106] PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create() in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php:271\nStack trace:
n#0 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(220): XMLParser->createParser()\n#1 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(262): XMLParser->parseTextStruct(’<?xml version="…’, Array)\n#2 /var/www/html/ojs/lib/pk
p/classes/db/XMLDAO.inc.php(55): XMLParser->parseStruct(‘lib/pkp/registr…’, Array)\n#3 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(58): XMLDAO->parseStruct(‘lib/pkp/registr…’, Array)\n#4 /var/www/html/ojs/lib/pkp/classes/ca
che/GenericCache.inc.php(63): TimeZoneDAO->_timeZoneCacheMiss(Object(FileCache), NULL)\n#5 /var/www/html/ojs/lib/pkp/classes/cache/FileCache.inc.php(114): GenericCache->get(NULL)\n#6 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(
77): FileCache->getContents()\n#7 /var/www/html/ojs/lib/pkp/classes/i18n/PKPLocale.inc.php(714): TimeZoneDAO->getTimeZones()\n#8 /var/www/html/ojs/lib/pkp/classes/i18n/ in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php on line 271
[Thu Jan 17 09:43:38.281915 2019] [:error] [pid 28890] [client 10.10.144.156:54140] PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create() in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php:271\nStack trace:
n#0 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(220): XMLParser->createParser()\n#1 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(262): XMLParser->parseTextStruct(’<?xml version="…’, Array)\n#2 /var/www/html/ojs/lib/pk
p/classes/db/XMLDAO.inc.php(55): XMLParser->parseStruct(‘lib/pkp/registr…’, Array)\n#3 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(58): XMLDAO->parseStruct(‘lib/pkp/registr…’, Array)\n#4 /var/www/html/ojs/lib/pkp/classes/ca
che/GenericCache.inc.php(63): TimeZoneDAO->_timeZoneCacheMiss(Object(FileCache), NULL)\n#5 /var/www/html/ojs/lib/pkp/classes/cache/FileCache.inc.php(114): GenericCache->get(NULL)\n#6 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(
77): FileCache->getContents()\n#7 /var/www/html/ojs/lib/pkp/classes/i18n/PKPLocale.inc.php(714): TimeZoneDAO->getTimeZones()\n#8 /var/www/html/ojs/lib/pkp/classes/i18n/ in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php on line 271
[Thu Jan 17 09:43:39.278563 2019] [:error] [pid 28894] [client 10.10.144.156:54142] PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create() in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php:271\nStack trace:
n#0 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(220): XMLParser->createParser()\n#1 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(262): XMLParser->parseTextStruct(’<?xml version="…’, Array)\n#2 /var/www/html/ojs/lib/pk
p/classes/db/XMLDAO.inc.php(55): XMLParser->parseStruct(‘lib/pkp/registr…’, Array)\n#3 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(58): XMLDAO->parseStruct(‘lib/pkp/registr…’, Array)\n#4 /var/www/html/ojs/lib/pkp/classes/ca
che/GenericCache.inc.php(63): TimeZoneDAO->_timeZoneCacheMiss(Object(FileCache), NULL)\n#5 /var/www/html/ojs/lib/pkp/classes/cache/FileCache.inc.php(114): GenericCache->get(NULL)\n#6 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(
77): FileCache->getContents()\n#7 /var/www/html/ojs/lib/pkp/classes/i18n/PKPLocale.inc.php(714): TimeZoneDAO->getTimeZones()\n#8 /var/www/html/ojs/lib/pkp/classes/i18n/ in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php on line 271
[Thu Jan 17 09:44:28.524570 2019] [:error] [pid 28893] [client 10.10.144.156:54158] PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create() in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php:271\nStack trace:
n#0 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(220): XMLParser->createParser()\n#1 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(262): XMLParser->parseTextStruct(’<?xml version="…’, Array)\n#2 /var/www/html/ojs/lib/pk
p/classes/db/XMLDAO.inc.php(55): XMLParser->parseStruct(‘lib/pkp/registr…’, Array)\n#3 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(58): XMLDAO->parseStruct(‘lib/pkp/registr…’, Array)\n#4 /var/www/html/ojs/lib/pkp/classes/ca
che/GenericCache.inc.php(63): TimeZoneDAO->_timeZoneCacheMiss(Object(FileCache), NULL)\n#5 /var/www/html/ojs/lib/pkp/classes/cache/FileCache.inc.php(114): GenericCache->get(NULL)\n#6 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(
77): FileCache->getContents()\n#7 /var/www/html/ojs/lib/pkp/classes/i18n/PKPLocale.inc.php(714): TimeZoneDAO->getTimeZones()\n#8 /var/www/html/ojs/lib/pkp/classes/i18n/ in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php on line 271
root@[myserver]:/var/log/apache2#

I try to run /var/www/html/ojs/tools/install.php
I get a smiliar error

root@[myserver]:/var/www/html/ojs# php tools/install.php
PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create() in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php:271
Stack trace:
#0 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(220): XMLParser->createParser()
#1 /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php(262): XMLParser->parseTextStruct(’<?xml version="…’, Array)
#2 /var/www/html/ojs/lib/pkp/classes/db/XMLDAO.inc.php(55): XMLParser->parseStruct(‘lib/pkp/registr…’, Array)
#3 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(58): XMLDAO->parseStruct(‘lib/pkp/registr…’, Array)
#4 /var/www/html/ojs/lib/pkp/classes/cache/GenericCache.inc.php(63): TimeZoneDAO->_timeZoneCacheMiss(Object(FileCache), NULL)
#5 /var/www/html/ojs/lib/pkp/classes/cache/FileCache.inc.php(114): GenericCache->get(NULL)
#6 /var/www/html/ojs/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(77): FileCache->getContents()
#7 /var/www/html/ojs/lib/pkp/classes/i18n/PKPLocale.inc.php(714): TimeZoneDAO->getTimeZones()
#8 /var/www/html/ojs/lib/pkp/classes/i18n/ in /var/www/html/ojs/lib/pkp/classes/xml/XMLParser.inc.php on line 271
root@[myserver]:/var/www/html/ojs#

Permissions should be set correctly

root@[myserver]:/var/www/html/ojs# ls -lh
total 60K
drwxr-xr-x  3 root www-data   16 Sep 11 19:47 api
drwxrwxr-x  6 root www-data   65 Sep 11 19:56 cache
drwxr-xr-x 28 root www-data 4,0K Sep 11 19:47 classes
-rw-rw-r--  1 root www-data  15K Sep 11 19:56 config.inc.php
-rw-r–r--  1 root www-data  15K Sep 11 19:47 config.TEMPLATE.inc.php
drwxr-xr-x  9 root www-data   98 Sep 11 19:47 controllers
drwxr-xr-x  3 root www-data   17 Sep 11 19:47 dbscripts
drwxr-xr-x  4 root www-data  286 Sep 11 19:56 docs
-rw-r–r--  1 root www-data 1,2K Sep 11 19:47 favicon.ico
-rw-r–r--  1 root www-data 3,0K Sep 11 19:47 index.php
drwxr-xr-x  3 root www-data   74 Sep 11 19:56 js
drwxr-xr-x  3 root www-data   17 Sep 11 19:56 lib
drwxr-xr-x 29 root www-data 4,0K Sep 11 19:47 locale
drwxr-xr-x 21 root www-data  303 Sep 11 19:47 pages
drwxr-xr-x 13 root www-data  185 Sep 11 19:47 plugins
d-wx-wx–x  2 root www-data   24 Sep 11 19:56 public
-rw-r–r--  1 root www-data 2,4K Sep 11 19:47 README.md
drwxr-xr-x  2 root www-data  222 Sep 11 19:47 registry
-rw-r–r--  1 root www-data   32 Sep 11 19:47 robots.txt
drwxr-xr-x  2 root www-data   41 Sep 11 19:56 styles
drwxr-xr-x 15 root www-data  212 Sep 11 19:47 templates
drwxr-xr-x  2 root www-data 4,0K Sep 11 19:56 tools
root@[myserver]:/var/www/html/ojs

What am I doing wrong?

Regards
Anders

Problem solved.
I needed to install php-xml which was not listed in requirement section

aptitude install php-xml

Regards
Anders

3 Likes