我一直无法让Zabbix在使用SQLite3作为数据库的FreeBSD系统上正常工作。它在大多数情况下都能正常工作,但刷新前端偶尔会导致出现此错误:
SQLite3::query(): Unable to execute statement: database is locked [hosts.php:863 → CAPIObject->get() → CAPIObject->__call() → czbxrpc::call() → czbxrpc::callAPI() → call_user_func() → CTemplate->get() → DBselect() → SQLite3->query() in /usr/local/www/apache22/include/db.inc.php:445]
我还注意到,每次服务器重新启动时,服务器日志中都会出现此信号量错误:
using configuration file: /usr/local/etc/zabbix22/zabbix_server.conf zabbix_server [42454]: php_sem_get(): failed for key 0x7a52f8e2: [13] Permission denied
我认为这可能与数据库文件的权限有关。
目前,数据库文件及其上方的目录由用户拥有" www"和小组" zabbix"拥有777权限。这应该是什么?
感谢您的帮助。
答案 0 :(得分:0)
看起来PHP中的信号量存在问题。尝试使用--enable-sysvsem编译PHP: http://uk1.php.net/manual/en/sem.installation.php