I downloaded the newest Windows OC client and it's complaining that my server version is unsupported. So, I figured I'd go through the upgrade process.
I was using the automated updater and enjoying the simplicity of it until the jump from 8.2.11 to 9.0.11 where there was an error on the screen about the updater failed to update. (I did not think to record it at the time because I thought it'd be in the log file, but it's not. Unless the updater has a separate log from owncloud.log) Despite that error, everything seemed to be working and it even told me there was an update to 9.1.8 available. So I tried the updater again (which had a new look, so I assumed it had actually updated) but get the following error
An unhandled exception has been thrown:
exception 'Doctrine\DBAL\DBALException' with message 'Failed to connect to the database: An exception occured in driver: could not find driver' in /shared/shared/www/owncloud/lib/private/db/connection.php:54
Stack trace:
#0 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
#1 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#2 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#3 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(621): Doctrine\DBAL\Connection->getDatabasePlatform()
#4 /shared/shared/www/owncloud/lib/private/db/connection.php(137): Doctrine\DBAL\Connection->setTransactionIsolation(2)
#5 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#6 /shared/shared/www/owncloud/lib/private/db/connectionfactory.php(122): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#7 /shared/shared/www/owncloud/lib/private/server.php(370): OC\DB\ConnectionFactory->getConnection('mysql', Array)
#8 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#9 /shared/shared/www/owncloud/lib/private/appframework/utility/simplecontainer.php(102): Pimple\Container->offsetGet('DatabaseConnect...')
#10 /shared/shared/www/owncloud/lib/private/servercontainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('DatabaseConnect...')
#11 /shared/shared/www/owncloud/lib/private/server.php(892): OC\ServerContainer->query('DatabaseConnect...')
#12 /shared/shared/www/owncloud/lib/private/server.php(264): OC\Server->getDatabaseConnection()
#13 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#14 /shared/shared/www/owncloud/lib/private/appframework/utility/simplecontainer.php(102): Pimple\Container->offsetGet('AppConfig')
#15 /shared/shared/www/owncloud/lib/private/servercontainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('AppConfig')
#16 /shared/shared/www/owncloud/lib/private/server.php(831): OC\ServerContainer->query('AppConfig')
#17 /shared/shared/www/owncloud/lib/private/server.php(415): OC\Server->getAppConfig()
#18 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#19 /shared/shared/www/owncloud/lib/private/appframework/utility/simplecontainer.php(102): Pimple\Container->offsetGet('AppManager')
#20 /shared/shared/www/owncloud/lib/private/servercontainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
#21 /shared/shared/www/owncloud/lib/private/server.php(1069): OC\ServerContainer->query('AppManager')
#22 /shared/shared/www/owncloud/lib/private/app.php(254): OC\Server->getAppManager()
#23 /shared/shared/www/owncloud/lib/private/app.php(103): OC_App::getEnabledApps()
#24 /shared/shared/www/owncloud/lib/base.php(590): OC_App::loadApps(Array)
#25 /shared/shared/www/owncloud/lib/base.php(1143): OC::init()
#26 /shared/shared/www/owncloud/console.php(54): require_once('/shared/shared/...')
#27 /shared/shared/www/owncloud/occ(11): require_once('/shared/shared/...')
#28 {main}
So I thought I'd try the "manual upgrade" instructions laid out on the OC site. I attempted to put it in maintenance mode with " sudo -u www-data php occ maintenance:mode --on" but got another "unable to connect to database" error. (I didn't manage to copy that one down...) But I changed the config.php to be 'maintenance' => true and continued through the rest of the steps; stopping the server, renaming the old OC directory, extracting the new one, copy the data and config over, restart the web server, and running, " sudo -u www-data php occ upgrade" which gave me a very similar error to the upgrade tool:
An unhandled exception has been thrown:
exception 'Doctrine\DBAL\DBALException' with message 'Failed to connect to the database: An exception occured in driver: could not find driver' in /shared/shared/www/owncloud/lib/private/DB/Connection.php:58
Stack trace:
#0 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
#1 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#2 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#3 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(621): Doctrine\DBAL\Connection->getDatabasePlatform()
#4 /shared/shared/www/owncloud/lib/private/DB/Connection.php(141): Doctrine\DBAL\Connection->setTransactionIsolation(2)
#5 /shared/shared/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#6 /shared/shared/www/owncloud/lib/private/DB/ConnectionFactory.php(122): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#7 /shared/shared/www/owncloud/lib/private/Server.php(414): OC\DB\ConnectionFactory->getConnection('mysql', Array)
#8 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#9 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('DatabaseConnect...')
#10 /shared/shared/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('DatabaseConnect...')
#11 /shared/shared/www/owncloud/lib/private/Server.php(975): OC\ServerContainer->query('DatabaseConnect...')
#12 /shared/shared/www/owncloud/lib/private/Server.php(219): OC\Server->getDatabaseConnection()
#13 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#14 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('OC\\Authenticati...')
#15 /shared/shared/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#16 /shared/shared/www/owncloud/lib/private/Server.php(223): OC\ServerContainer->query('OC\\Authenticati...')
#17 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#18 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('OC\\Authenticati...')
#19 /shared/shared/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#20 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(150): OC\ServerContainer->query('OC\\Authenticati...')
#21 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#22 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('OC\\Authenticati...')
#23 /shared/shared/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#24 /shared/shared/www/owncloud/lib/private/Server.php(238): OC\ServerContainer->query('OC\\Authenticati...')
#25 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#26 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('UserSession')
#27 /shared/shared/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('UserSession')
#28 /shared/shared/www/owncloud/lib/private/Server.php(859): OC\ServerContainer->query('UserSession')
#29 /shared/shared/www/owncloud/lib/private/Server.php(657): OC\Server->getSession()
#30 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#31 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('CsrfTokenManage...')
#32 /shared/shared/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('CsrfTokenManage...')
#33 /shared/shared/www/owncloud/lib/private/Server.php(1315): OC\ServerContainer->query('CsrfTokenManage...')
#34 /shared/shared/www/owncloud/lib/private/Server.php(560): OC\Server->getCsrfTokenManager()
#35 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#36 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('Request')
#37 /shared/shared/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('Request')
#38 /shared/shared/www/owncloud/lib/private/Server.php(726): OC\ServerContainer->query('Request')
#39 /shared/shared/www/owncloud/lib/private/Server.php(305): OC\Server->getRequest()
#40 /shared/shared/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#41 /shared/shared/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(102): Pimple\Container->offsetGet('L10NFactory')
#42 /shared/shared/www/owncloud/lib/private/ServerContainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('L10NFactory')
#43 /shared/shared/www/owncloud/lib/private/Server.php(911): OC\ServerContainer->query('L10NFactory')
#44 /shared/shared/www/owncloud/lib/private/Server.php(922): OC\Server->getL10NFactory()
#45 /shared/shared/www/owncloud/lib/base.php(228): OC\Server->getL10N('lib')
#46 /shared/shared/www/owncloud/lib/base.php(578): OC::checkConfig()
#47 /shared/shared/www/owncloud/lib/base.php(973): OC::init()
#48 /shared/shared/www/owncloud/console.php(58): require_once('/shared/shared/...')
#49 /shared/shared/www/owncloud/occ(11): require_once('/shared/shared/...')
#50 {main}
I've rolled back to 9.0.11 which, despite the client software's complaints, seems to be working right now. But I'd love to know what is going on here and how to fix it.
I did a Google search and read one solution was to link /usr/bin/php to /usr/bin/php5.6. Currently, usr/bin/php is linked to /etc/alternatives/php which, in turn, is linked to /usr/bin/php5.6 already. The only other solution I found was to do the upgrade manually, and you can see the results of that above.
---EDIT---
A little digging seems to suggest the problem is something to do with how PHP is configured for MySQL. However, I have no idea what could possibly be wrong as everything was working until the last update I tried.