Вообщем кодю под линуксом. PHP: <?php ...... public function offsetSet($key, $value) { $key=dba_key_split(CONFIG_SECTION.$key); dba_replace($key, $value, $this->dba); } .... ?> Как вы поняли запись осуществляется через интерфейс arrayAccess Проблема в том, что при создании нового файла первая запись в базу осуществляется без проблем, но при попытке сделать другую (или изменить существующую вызывается ошибка. ПХП говорит что то о том, что невозможно писать в секцию. Права на папку с БД полные 0777 Владелец файла - Апач с правами записи Что не так? Открытия осуществляется в режиме "с"
Почитайте про ф-ции dba_key_split и dba_replace. dba_key_split возвращает массив, а в dba_replace первый параметр - string. Может в этом проблема?
http://www.php.ru/manual/function.dba-open.html Код (Text): open mode 'c' is broken for several internal handlers and truncates the database instead of appending data to an existent database. Also dbm and ndbm fail on mode 'c' in typical configurations (this cannot be fixed). Может быть это? Кстати, не могу понять чем open отличается от popen ??? Как это можно понять "на постоянной основе"
При завершении интерпретации кода, соединение с базой данных не разрывается и остаётся активным для последующих интерпретаций. Это позволяет сократить время выполнения скрипта, но необходимо очищать память после запросов.