swissbib / vufind

A library resource discovery portal designed and developed for libraries by libraries
GNU General Public License v2.0
12 stars 7 forks source link

Multidomains : IDSBB-location #355

Closed oschihin closed 9 years ago

oschihin commented 9 years ago

Problem

Beim deployment auf test.swissbib.ch wird eine Exception geworfen

======================================================================
   The application has thrown an exception!
======================================================================
 Zend\Config\Exception\RuntimeException
 Error writing to "-idsbb/en.ini": file_put_contents(-idsbb/en.ini): failed to open stream: Datei oder Verzeichnis nicht gefunden
----------------------------------------------------------------------
/usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/Config/Writer/AbstractWriter.php:42
#0 [internal function]: Zend\Config\Writer\AbstractWriter->Zend\Config\Writer\{closure}(2, 'file_put_conten...', '/usr/local/vufi...', 51, Array)
#1 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/Config/Writer/AbstractWriter.php(51): file_put_contents('-idsbb/en.ini', 'a100_ls = "Lese...', 2)
#2 /usr/local/vufind/httpd/module/Swissbib/src/Swissbib/Tab40Import/Writer.php(79): Zend\Config\Writer\AbstractWriter->toFile('-idsbb/en.ini', Object(Zend\Config\Config))
#3 /usr/local/vufind/httpd/module/Swissbib/src/Swissbib/Tab40Import/Importer.php(115): Swissbib\Tab40Import\Writer->write('idsbb', 'en', Array)
#4 /usr/local/vufind/httpd/module/Swissbib/src/Swissbib/Tab40Import/Importer.php(75): Swissbib\Tab40Import\Importer->write('idsbb', 'en', Array)
#5 /usr/local/vufind/httpd/module/Swissbib/src/Swissbib/Controller/Tab40ImportController.php(71): Swissbib\Tab40Import\Importer->import('idsbb', 'en', 'data/cache/tab4...')
#6 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractActionController.php(82): Swissbib\Controller\Tab40ImportController->importAction()
#7 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
#8 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(444): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#9 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(205): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#10 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractController.php(118): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#11 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(93): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Console\Request), Object(Zend\Console\Response))
#12 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
#13 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(444): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#14 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(205): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#15 /usr/local/vufind/httpd/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(314): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#16 /usr/local/vufind/httpd/public/index.php(59): Zend\Mvc\Application->run()
#17 {main}

Soweit ich jetzt sehe, läuft die Applikation trotzdem, es kann aber Probleme mit der Übersetzung der Standorte geben.

Hinweise

@witzigs @maechler @edelm

witzigs commented 9 years ago

siehe #346 : noch nicht ganz fertig und v.a. noch nicht vollständig getestet

oschihin commented 9 years ago

Ordner ist angelegt als '/location-idsbb', offenbar versucht der Importer, in einen Ordner '-idsbb' zu schreiben

maechler commented 9 years ago

Lokal funktioniert es bei mir. Ich habe mir kurz die Implementierung angeschaut.

Der Speicherpfad wird so zusammengesetzt:

$path = $this->basePath . '-' . $network . '/' . $locale . '.ini';

Aus der Fehlermeldung schliesse ich, dass "$this->basePath" nicht korrekt gesetzt ist. Diese Variable kommt ziemlich direkt aus der Config:

[tab40import]
path = local/languages/location

Diese Einstellung ist in der config_base.ini. Ist es möglich, dass diese Konfiguration nicht richtig gesetzt ist beim Deployment?