Rodrigo Borrego Bernabé - Freelance Software Developer



SQLite3::exec(): database is locked error

Category : Programación, Symfony · No Comments · by Jan 31st, 2012

Si comenzando a utilizar Symfony2 trabajáis en una mezcla de Windows y Linux que unís mediante Samba, quizás os hayáis encontrado con el siguiente error nada más comenzar:

Warning: SQLite3::exec(): database is locked

Realmente no podemos arreglarlo, puesto que la gestión de permisos de Samba no le gusta a SQLite, pero podemos evitarlo (‘workaround’, que dirían) cambiando el directorio donde se crean ciertos ficheros. Abrimos el archivo ‘app/config/config.yml’ y escribimos la siguiente configuración:

parameters:
  kernel.cache_dir: '/tmp/sf-test'

Fuente: http://www.kitpages.fr/fr/cms/21/symfony2-sqlite3-et-samba

UPDATE: Parece que con la versión 2.0.12 esto ya no funciona y debes incluir en app/AppKernel.php

public function getCacheDir()
 {
 //return $this->rootDir . '/my_cache/' . $this->environment;
 return '/tmp/sf2'.$this->environment;
 }