owncloud / core

:cloud: ownCloud web server core (Files, DAV, etc.)
https://owncloud.com
GNU Affero General Public License v3.0
8.37k stars 2.06k forks source link

PHP Fatal error: getSession() on a non-object #14065

Closed theandrewbailey closed 9 years ago

theandrewbailey commented 9 years ago

Steps to reproduce

  1. Install Ubuntu 14.04.1
  2. Follow directions to install Owncloud via repos from http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud (double checked to make sure I'm using the 14.04 repo)
  3. Configure Apache and enable SSL and owncloud.conf
  4. Access URL in browser.

    Expected behaviour

Presented with setup screen or login page.

Actual behaviour

Nothing is displayed in browser. In fact, nothing is transmitted to the browser at all!

Server configuration

Operating system: Ubuntu 14.04.1

Web server: Apache (latest from repo)

Database: unknown

PHP version: latest from repo

ownCloud version: (see ownCloud admin page) N/A. version.php contains:

$OC_Version = array(8,0,0,7);
$OC_VersionString = '8.0';
$OC_Channel = 'stable';
$OC_Build = '2015-02-07T02:34:55+00:00 df2808eec840c033b952e001ee8a063a93fae417';

Updated from an older ownCloud or fresh install: fresh install. most dependencies (including apache and all PHP libraries) are too.

List of activated apps: none.

The content of config/config.php: config.php does not exist. config.sample.php does.

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

Are you using encryption: SSL

Client configuration

Browser: lastest Firefox

Operating system: Windows 7

URL: https://theandrewbailey.com:1492/owncloud/index.php

Logs

Web server error log

PHP Fatal error:  Call to a member function getSession() on a non-object in /var/www/owncloud/lib/private/template.php on line 53

ownCloud log (data/owncloud.log)

doesn't exist.

Browser log

no data received by browser

Other Notes

This issue seems similar to https://github.com/owncloud/core/issues/13808 but the server isn't running Windows. Apache is running OK; shows directory listings fine.

karlitschek commented 9 years ago

@DeepDiver1975 any idea?

DeepDiver1975 commented 9 years ago

This error is only possible in case something in the very early initialization fails.

Any further messages in the logs? Which exact version of the packages did you install? THX

theandrewbailey commented 9 years ago

Here's some more apache logs, though I doubt usefulness:

[Tue Feb 10 13:02:40.792352 2015] [ssl:warn] [pid 23656] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Feb 10 13:02:40.835674 2015] [ssl:warn] [pid 23657] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Feb 10 13:02:40.840005 2015] [mpm_prefork:notice] [pid 23657] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.5 OpenSSL/1.0.1f configured -- resuming normal operations
[Tue Feb 10 13:02:40.840048 2015] [core:notice] [pid 23657] AH00094: Command line: '/usr/sbin/apache2'
[Tue Feb 10 13:02:51.740298 2015] [:error] [pid 23661] [client 209.195.180.254:36187] PHP Fatal error:  Call to a member function getSession() on a non-object in /var/www/owncloud/lib/private/template.php on line 53

installed dependencies and versions of owncloud-server:

   apache2 (2.4.7-1ubuntu4.1)
   apache2-bin (2.4.7-1ubuntu4.1)
   apache2-data (2.4.7-1ubuntu4.1)
   libapache2-mod-php5 (5.5.9+dfsg-1ubuntu4.5)
   libapr1 (1.5.0-1)
   libaprutil1 (1.5.3-1)
   libaprutil1-dbd-sqlite3 (1.5.3-1)
   libaprutil1-ldap (1.5.3-1)
   libmcrypt4 (2.5.8-3.1ubuntu1)
   php-pear (5.5.9+dfsg-1ubuntu4.5)
   php-xml-parser (1.3.4-6)
   php5 (5.5.9+dfsg-1ubuntu4.5)
   php5-cli (5.5.9+dfsg-1ubuntu4.5)
   php5-common (5.5.9+dfsg-1ubuntu4.5)
   php5-curl (5.5.9+dfsg-1ubuntu4.5)
   php5-gd (5.5.9+dfsg-1ubuntu4.5)
   php5-intl (5.5.9+dfsg-1ubuntu4.5)
   php5-json (1.3.2-2build1)
   php5-mcrypt (5.4.6-0ubuntu5)
   php5-mysqlnd (5.5.9+dfsg-1ubuntu4.5)
   php5-pgsql (5.5.9+dfsg-1ubuntu4.5)
   php5-readline (5.5.9+dfsg-1ubuntu4.5)
   php5-sqlite (5.5.9+dfsg-1ubuntu4.5)
   owncloud-server (8.0.0-5)
ryhaberecht commented 9 years ago

I am seeing the same error after trying to upgrade from latest 7 to latest 8 via OpenSUSE repository on latest Debian 7. I think this is what caused the upgrade to get stuck and silently fail.

<?php 
$OC_Version = array(8,0,0,7);
$OC_VersionString = '8.0';
$OC_Channel = 'stable';
$OC_Build = '2015-02-07T02:34:55+00:00 df2808eec840c033b952e001ee8a063a93fae417';
version.php (END)

EDIT: A dauntless "php occ maintenance:mode --off" followed by a "php occ upgrade" told me it was already upgraded and now everything works ok. And the error is gone after a restart of apache. Now i'm comforted with a new error:

PHP Fatal error:  require_once(): Failed opening required '/appinfo/remote.php' (include_path='/var/www/owncloud/3rdparty/phpseclib/phpseclib/phpseclib:/var/www/owncloud/3rdparty/pear/pear_exception:/var/www/owncloud/3rdparty/pear/archive_tar:/var/www/owncloud/lib/private:/var/www/owncloud/config:/var/www/owncloud/3rdparty:/var/www/owncloud/apps:/var/www/owncloud/lib:.:/usr/share/php:/usr/share/pear:/var/www/owncloud') in /var/www/owncloud/remote.php on line 54

Which does, however, not seem to affect function.

theandrewbailey commented 9 years ago

Running php occ maintenance:mode --off gives me the same getSession() on a non-object error. Even after restarting apache, same error occurs in logs.

ryhaberecht commented 9 years ago

Another restart of apache (including log-in via browser and pause/resume via sync client) now gave me no error at all... really weird.

DeepDiver1975 commented 9 years ago

Here's some more apache logs, though I doubt usefulness:

@praetoralpha is there a data/owncloud.log?

If I get that right: you did not even get to the setup page?

theandrewbailey commented 9 years ago

@DeepDiver1975 the data directory in owncloud is empty.

DeepDiver1975 commented 9 years ago

hmm - so there is something really going wrong very early in the process initialization.

please let me know the exact package version you did install

$ dpkg -l | grep owncloud
DeepDiver1975 commented 9 years ago

owncloud-server (8.0.0-5)

ah 8.0.0-5 - still the list of all installed owncloud packages would be great - THX

theandrewbailey commented 9 years ago

That's the only owncloud package I have installed.

$ dpkg -l | grep owncloud
ii  owncloud-server                           8.0.0-5                               all          The owncloud-server package
DeepDiver1975 commented 9 years ago

so you miss all other packages - no wonder it doesn't work - strange.

go for

$ apt-get install onwcloud
DeepDiver1975 commented 9 years ago

@jnweiger what is the purpose of owncloud-server? Maybe kind of missleading? THX

theandrewbailey commented 9 years ago

@DeepDiver1975 installing the owncloud package fixes this issue. Thank you!

jnweiger commented 9 years ago

True, it is misleading. All users please install package owncloud. All sysadmins please examine package owncloud, then install owncloud-server and configure as you need.

Bug here: all dependencies are on the package owncloud. Package owncloud-server should have the depencencies to become selfcontained. This is Work in Progress in https://build.opensuse.org/package/show/isv:ownCloud:community:testing/owncloud

vstokesjr commented 9 years ago

Still a fail on Ubuntu 14.04.2. We are trying to upgrade from 7 to 8 via apt-get.

The owncloud-server meta package should NOT include mysql server. Our MySQL server is a separate installation (server). However, we still get the

$ sudo -u www-data php occ upgrade
PHP Notice:  Undefined index: SERVER_PROTOCOL in /var/www/owncloud/lib/private/response.php on line 57
PHP Fatal error:  Call to a member function getSession() on a non-object in /var/www/owncloud/lib/private/template.php on line 53
jnweiger commented 9 years ago

Short comment on the mysql side-treck: With 8.0.2 the situation should be this:

apt-get -q -y install owncloud-server

pulls in php-mysqlnd (client side, no server components). Then a subsequent

apt-get -q -y install owncloud

follows the 'Recommends' from the control file and pulls in mysql-server and friends. Not so bad from my perspective! Please open a seperate issue, if you get different results with 8.0.2 (no Linux packages yet -- to be released asap).

blizzz commented 9 years ago

@jnweiger i assume this was resolved, no?

PVince81 commented 9 years ago

@jnweiger can this be closed ?

jnweiger commented 9 years ago

the database dependencies are removed.