Core: ownCloud 9.0 - Class 'XMLReader' not found in Reader.php (after upgrade from 8.2.2)

Created on 9 Mar 2016  路  6Comments  路  Source: owncloud/core

Steps to reproduce

  1. Have ownCloud 8.2.2 (manual installation).
  2. Perform manual upgrade to 9.0.0 (according to the manual).

    Expected behaviour

Everything working normally.

Actual behaviour

  1. User files are inaccessible with error: This directory is unavailable, please check the logs or contact the administrator. (even for admin)
  2. User contacts and calendars are empty (no webpage error though).
  3. Synchronization (ownCloud desktop client, CardDav, CalDav) doesn't work.

    Server configuration

Operating system: Gentoo Linux 4.1.12 x86_64

Web server: nginx 1.8.1

Database: MySQL 5.6.28

PHP version: 5.6.18-pl0-gentoo

ownCloud version: 9.0.0

Updated from an older ownCloud or fresh install: updated from 8.2.2

Where did you install ownCloud from: tarball

Signing status (ownCloud 9.0 and above):

No errors have been found.

List of activated apps:

Enabled:
  - activity: 2.2.1
  - calendar: 1.0
  - comments: 0.2
  - contacts: 1.0.0.0
  - dav: 0.1.5
  - documents: 0.12.0
  - federatedfilesharing: 0.1.0
  - files: 1.4.4
  - files_sharing: 0.9.1
  - files_texteditor: 2.1
  - files_trashbin: 0.8.0
  - files_versions: 1.2.0
  - firstrunwizard: 1.1
  - gallery: 14.5.0
  - notifications: 0.2.3
  - systemtags: 0.2
  - updatenotification: 0.1.0
Disabled:
  - encryption
  - external
  - federation
  - files_external
  - files_pdfviewer
  - files_videoplayer
  - provisioning_api
  - templateeditor
  - user_external
  - user_ldap

The content of config/config.php:

<?php
$CONFIG = array (
  'instanceid' => '51ae2ad06beb6',
  'passwordsalt' => '***REMOVED SENSITIVE VALUE***',
  'datadirectory' => '/var/www/example.com/private/owncloud/data',
  'dbtype' => 'mysql',
  'version' => '9.0.0.19',
  'dbname' => 'www_user2_owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'www_user2_oc',
  'dbpassword' => '***REMOVED SENSITIVE VALUE***',
  'installed' => true,
  'forcessl' => true,
  'maintenance' => false,
  'trashbin_retention_obligation' => '1, auto',
  'theme' => '',
  'trusted_domains' =>
  array (
    0 => 'example.com',
  ),
  'mail_smtpmode' => 'php',
  'mail_smtpname' => 'admin',
  'mail_smtppassword' => '***REMOVED SENSITIVE VALUE***',
  'secret' => '***REMOVED SENSITIVE VALUE***',
  'loglevel' => 2,
  'filelocking.enabled' => 'true',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/var/run/redis/redis.sock',
    'port' => 0,
    'timeout' => 0,
    'password' => '***REMOVED SENSITIVE VALUE***',
  ),
  'memcache.local' => '\\OC\\Memcache\\APCu',
);

Note: The actual domain has been replaced by example.com.
Note: Passwords have been replaced in the config output.

Are you using external storage, if yes which one: No.

Are you using encryption: No.

Are you using an external user-backend, if yes which one: No.

Client configuration

Browser 1: Firefox 45.0
Browser 2: Iron 48.0.2550.1
Browser 3: Vivaldi 1.0.403.24 (Beta 3) (32 bit)

Operating system: Windows 8.1 x64

Logs

Web server error log

With every page load (any page), the following error is added to the log:

2016/03/09 09:50:01 [error] 6360#0: *2715 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'XMLReader' not found in /var/www/example.com/web/3rdparty/sabre/xml/lib/Reader.php on line 20" while reading response header from upstream, client: 1.2.3.4, server: example.com, request: "PROPFIND /remote.php/webdav/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9008", host: "example.com"

Note: The actual domain has been replaced by example.com.
Note: The client IP has been replaced by 1.2.3.4.

ownCloud log (data/owncloud.log)

{"reqId":"xsCKIjSCwseTdoHCMMtQ","remoteAddr":"1.2.3.4","app":"PHP","message":"Class 'XMLReader' not found at \/var\/www\/example.com\/web\/3rdparty\/sabre\/xml\/lib\/Reader.php#20","level":3,"time":"2016-03-09T09:44:19+00:00"}

Note: The actual domain has been replaced by example.com.
Note: The client IP has been replaced by 1.2.3.4.

Browser log

N/A

Additional information

  • nginx has been configured accordin to this guide.
Bug

Most helpful comment

In anyone using alpine-linux:
Fixed this issue on alpine-linux by simply installing php-xmlreader package.

All 6 comments

Can you post a link to a phpinfo file? I'm curious how the libxml support looks there.

Ok. Gentoo is not compiling XMLReader by default:

Gentoo users: emerge does not compile dev-lang/php with --enable-xmlreader by default. To enable this option, add the flag xmlreader to your USE variable and recompile php.

Will add a check to the setup. It's required by SabreDAV now.

I've recompiled PHP (dev-lang/php) with xmlreader USE flag enabled, restarted PHP deamon (php-fpm) and the problem seems to be fixed.

Thank you!

In anyone using alpine-linux:
Fixed this issue on alpine-linux by simply installing php-xmlreader package.

@sporokh thanks for the tip!

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings