2011-10-09 11 views
0

PHP (http://pecl.php.net/package/chdb)에 CHDB (해쉬 테이블 캐싱)를 사용하려고합니다.배열을 저장할 때 CHDB 캐시 오류가 발생했습니다.

나는이 오류와 끝까지 :이 오류가 어디에서 오는지

Fatal error: Uncaught exception 'Exception' with message 'Error generating 'd.chdb': Cannot allocate memory' in /var/www/b/site/test.php:18 Stack trace: #0 /var/www/b/site/test.php(18): chdb_create('d.chdb', Array) #1 {main} thrown in /var/www/site/b/test.php on line 18

는 아는 사람 있나요? 그것은 PHP 프레임 워크 자체 또는 다른 곳에서 왔습니까?

내가 수동으로 페도라 11

에 PHP에 CHDB을 설치 내 코드는 매우 간단합니다 :

$data = array('key1' => "val1"); 
    chdb_create("d.chdb", $data); 

모든 유용한 정보 환영합니다!

답변

1

chdb의 프로그래머가 내 질문에 대답했고 문제는 chdb에서 사용하는 cmph 라이브러리가 크기가 1 인 배열 해싱을 허용하지 않는다는 것입니다. 나는 단지 하나의 항목을 테스트에 사용했습니다 ...

간단합니다 :-).

분명히 오류 메시지가 약간 분명하지 않습니다.

1

CHDB 소스를 자세히 보지 않았지만 "메모리를 할당 할 수 없습니다"라는 메시지는 실제로 "파일을 열 수 없음"으로 번역 될 수 있습니다.

방금 ​​소스 코드 (https://github.com/lcastelli/chdb에서 찾을 수 있음)를 빠르게 찾아 보았습니다. 그 예외는 here에서 오는 것으로 나타 났지만, 실제로 파일을 쓰려고하는 곳에서는 잘 모르겠습니다. 직접 사용하지 마십시오.

+0

감사합니다. 어느 곳에서 파일을 쓰려고하는지 전혀 알지 못합니다. 나는 그것이 RAM 또는 무엇인가라고 생각하고 있었다. 그러나 나는 아마 misstaken 다. .. – Henrik

관련 문제