Nextcloud version (15.0.4):
Operating system and version (Netcup Webhosting):
PHP version (7.2.15):
Hi!
My Nextcloud webpage and program works as expected. But I have some problems with locked files, so I want to change my database from sqlite to mysql. To convert the database I need occ but when I try to run
php occ
I get an error:
An unhandled exception has been thrown:
Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occured in driver: could not find driver in /httpdocs/nextcloud/lib/private/DB/Connection.php:64
Stack trace:
#0 /httpdocs/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(992): OC\DB\Connection->connect()
#1 /httpdocs/nextcloud/lib/private/DB/Connection.php(216): Doctrine\DBAL\Connection->executeUpdate('PRAGMA read_unc...', Array, Array)
#2 /httpdocs/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): OC\DB\Connection->executeUpdate('PRAGMA read_unc...')
#3 /httpdocs/nextcloud/lib/private/DB/Connection.php(151): Doctrine\DBAL\Connection->setTransactionIsolation(2)
#4 /httpdocs/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Driver\PDOSqlite\Driver), Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#5 /httpdocs/nextcloud/lib/private/DB/ConnectionFactory.php(158): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))
#6 /httpdocs/nextcloud/lib/private/Server.php(641): OC\DB\ConnectionFactory->getConnection('sqlite3', Array)
#7 /httpdocs/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#8 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(117): Pimple\Container->offsetGet('OCP\\IDBConnecti...')
#9 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OCP\\IDBConnecti...')
#10 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(165): OC\ServerContainer->query('OCP\\IDBConnecti...')
#11 /httpdocs/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#12 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(117): Pimple\Container->offsetGet('DatabaseConnect...')
#13 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('DatabaseConnect...')
#14 /httpdocs/nextcloud/lib/private/Server.php(1552): OC\ServerContainer->query('DatabaseConnect...')
#15 /httpdocs/nextcloud/lib/private/Server.php(360): OC\Server->getDatabaseConnection()
#16 /httpdocs/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#17 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(117): Pimple\Container->offsetGet('OC\\Authenticati...')
#18 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#19 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(68): OC\ServerContainer->query('OC\\Authenticati...')
#20 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(98): OC\AppFramework\Utility\SimpleContainer->buildClass(Object(ReflectionClass))
#21 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(119): OC\AppFramework\Utility\SimpleContainer->resolve('OC\\Authenticati...')
#22 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#23 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(68): OC\ServerContainer->query('OC\\Authenticati...')
#24 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(98): OC\AppFramework\Utility\SimpleContainer->buildClass(Object(ReflectionClass))
#25 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(119): OC\AppFramework\Utility\SimpleContainer->resolve('OC\\Authenticati...')
#26 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#27 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(165): OC\ServerContainer->query('OC\\Authenticati...')
#28 /httpdocs/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#29 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(117): Pimple\Container->offsetGet('OC\\Authenticati...')
#30 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\Authenticati...')
#31 /httpdocs/nextcloud/lib/private/Server.php(372): OC\ServerContainer->query('OC\\Authenticati...')
#32 /httpdocs/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#33 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(117): Pimple\Container->offsetGet('OC\\User\\Session')
#34 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\User\\Session')
#35 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(165): OC\ServerContainer->query('OC\\User\\Session')
#36 /httpdocs/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#37 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(117): Pimple\Container->offsetGet('UserSession')
#38 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('UserSession')
#39 /httpdocs/nextcloud/lib/private/Server.php(1428): OC\ServerContainer->query('UserSession')
#40 /httpdocs/nextcloud/lib/private/Server.php(694): OC\Server->getUserSession()
#41 /httpdocs/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#42 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(117): Pimple\Container->offsetGet('OC\\App\\AppManag...')
#43 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\\App\\AppManag...')
#44 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(165): OC\ServerContainer->query('OC\\App\\AppManag...')
#45 /httpdocs/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#46 /httpdocs/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(117): Pimple\Container->offsetGet('AppManager')
#47 /httpdocs/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
#48 /httpdocs/nextcloud/lib/private/Server.php(1723): OC\ServerContainer->query('AppManager')
#49 /httpdocs/nextcloud/lib/private/legacy/app.php(342): OC\Server->getAppManager()
#50 /httpdocs/nextcloud/lib/private/legacy/app.php(113): OC_App::getEnabledApps()
#51 /httpdocs/nextcloud/lib/base.php(654): OC_App::loadApps(Array)
#52 /httpdocs/nextcloud/lib/base.php(1068): OC::init()
#53 /httpdocs/nextcloud/console.php(46): require_once('/httpdocs/nextc...')
#54 /httpdocs/nextcloud/occ(11): require_once('/httpdocs/nextc...')
I already had this error with Nextcloud 13 and Nextcloud 14.
I checked with
php -m
if sqlite is installed and it is:
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imagick
imap
intl
ionCube Loader
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured)
Different threads suggest trying it with older php-versions. With Nextcloud 13 I tried to run occ with php5.6
/usr/local/php56/bin/php occ
but I got the same error. Nextcloud 15 doesnt even support php5.6. So I tried with PHP7.0 and PHP 7.1 but still the same error.
The output of Nextcloud log lists some locked files (one reason I want to change to mysql) and many of this
is_readable(): open_basedir restriction in effect. File(/proc/meminfo) is not within the allowed path(s): (/var/www/vhosts/***.netcup.net/httpdocs/nextcloud/:/tmp/:/var/lib/php5/sessions:/var/www/vhosts/***.netcup.net/tmp) at /var/www/vhosts/***.netcup.net/httpdocs/nextcloud/apps/serverinfo/lib/SystemStatistics.php#97
BUT none of them at same time when I try to use occ.
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
$CONFIG = array (
'instanceid' => '***',
'passwordsalt' => '***',
'secret' => '***',
'trusted_domains' =>
array (
0 => '***',
1 => '***',
),
'datadirectory' => ((php_sapi_name() != 'cli') ? '/var/www/vhosts/***.netcup.net' : '') . '/httpdocs/nextcloud/data',
'overwrite.cli.url' => '***',
'dbtype' => 'sqlite3',
'version' => '15.0.4.0',
'installed' => true,
'updater.release.channel' => 'stable',
'log_type' => 'file',
'logfile' => '/var/www/vhosts/***.netcup.net/httpdocs/nextcloud/log/nextcloud.log',
'mail_domain' => '***.de',
'mail_smtpmode' => 'smtp',
'mail_smtpauthtype' => 'LOGIN',
'mail_from_address' => 'nextcloud',
'filelocking.enabled' => 'false',
'maintenance' => false,
'theme' => '',
'loglevel' => 2,
'updater.secret' => '***',
'mail_smtphost' => 'mxf9a9.netcup.net',
'mail_sendmailmode' => 'smtp',
'mail_smtpauth' => 1,
'mail_smtpname' => '***',
'mail_smtppassword' => '***',
);
As you can see I tried to change the datadirectory which is needed because of my hoster (as I found here (german) https://forum.netcup.de/anwendung/sonstige-anwendungen/p72720-owncloud-console-occ-funktioniert-nur-nach-config-änderung-und-legt-weboberfläche-lahm/#post72720). I tried the normal configuration without success too.
I have a second nextcloud 15.0.4 installed on the same server with a different URL and in a different subfolder. occ didn’t work there too until I changed the datadirectory-setting.
It would be great If someone has a good hint!
Julian