Nextcloud CLI does not work

Hi guys. I really don’t know what is wrong here, but Nextcloud CLI (server-side) doesn’t work for me?

Serever info:

  • Nextcloud version ( 10.0…0)
  • Operating system and version (Ubuntu 14.04)
  • Apache or nginx version (Apache 2.4.7)
  • PHP version (5.5.9):

I can see the problem is with my connection to my DB which is on a separate server (Mysql/MariaDB) but everythinig except CLI seems to work just fine for me

terminal output of sudo -u www-data php occ files:scan

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 /var/www/owncloud/lib/private/DB/Connection.php:59
Stack trace:
#0 /var/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
#1 /var/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
#2 /var/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
#3 /var/www/owncloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(621): Doctrine\DBAL\Connection->getDatabasePlatform()
#4 /var/www/owncloud/lib/private/DB/Connection.php(142): Doctrine\DBAL\Connection->setTransactionIsolation(2)
#5 /var/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 /var/www/owncloud/lib/private/DB/ConnectionFactory.php(123): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#7 /var/www/owncloud/lib/private/Server.php(415): OC\DB\ConnectionFactory->getConnection('mysql', Array)
#8 /var/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#9 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet('DatabaseConnect...')
#10 /var/www/owncloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query('DatabaseConnect...')
#11 /var/www/owncloud/lib/private/Server.php(1029): OC\ServerContainer->query('DatabaseConnect...')
#12 /var/www/owncloud/lib/private/Server.php(220): OC\Server->getDatabaseConnection()
#13 /var/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#14 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet('OC\\Authenticati...')
#15 /var/www/owncloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#16 /var/www/owncloud/lib/private/Server.php(224): OC\ServerContainer->query('OC\\Authenticati...')
#17 /var/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#18 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet('OC\\Authenticati...')
#19 /var/www/owncloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#20 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(151): OC\ServerContainer->query('OC\\Authenticati...')
#21 /var/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#22 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet('OC\\Authenticati...')
#23 /var/www/owncloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#24 /var/www/owncloud/lib/private/Server.php(239): OC\ServerContainer->query('OC\\Authenticati...')
#25 /var/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#26 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet('UserSession')
#27 /var/www/owncloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query('UserSession')
#28 /var/www/owncloud/lib/private/Server.php(906): OC\ServerContainer->query('UserSession')
#29 /var/www/owncloud/lib/private/Server.php(459): OC\Server->getUserSession()
#30 /var/www/owncloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
#31 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(103): Pimple\Container->offsetGet('AppManager')
#32 /var/www/owncloud/lib/private/ServerContainer.php(89): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
#33 /var/www/owncloud/lib/private/Server.php(1206): OC\ServerContainer->query('AppManager')
#34 /var/www/owncloud/lib/private/legacy/app.php(293): OC\Server->getAppManager()
#35 /var/www/owncloud/lib/private/legacy/app.php(109): OC_App::getEnabledApps()
#36 /var/www/owncloud/lib/base.php(642): OC_App::loadApps(Array)
#37 /var/www/owncloud/lib/base.php(1043): OC::init()
#38 /var/www/owncloud/console.php(48): require_once('/var/www/ownclo...')
#39 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')

Can you confirm you have the php-mysql module installed?

sudo apt-get install php5-mysql

If it isn’t, that command above will install it, then you should only need to restart Apache:

sudo service apache2 restart

I can indeed :wink:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
php5-mysql is already the newest version.

Hmm. I guess perhaps the module isn’t being loaded for php-cli.

sudo php -m should show the modules in use. Is MySQL listed?

It doesn’t look like MySql is listed there ?
Hmmmm. I tried sudo php5 -m and it is listed there ?

If you use php5 in the occ command instead of php that may work for now, but ultimately adding the extension for MySQL in your php.ini file listed as loaded when you run

sudo php --ini

Will solve it.

Your php5 ini file will have something like

extension=mysql.so in it. You need to add the same line to the relevant ini file and you’ll be set.

Thanks! gonna look into it