php-clamavのdbpathを探してみる
php-clamav 0.15.7をmake installして利用した所、ClamAVのデータベースファイルが無いと怒られたので対処方法を残します。
extension=clamav.so
$ php -r "phpinfo();"|grep clam /etc/php.d/clamav.ini, LibClamAV Error: cl_load(): Can't get status of /var/lib/clamav PHP Warning: cl_load: failed : error code 11 (Can't get file status) in Command line code on line 1 PHP Warning: Load database during PHP_MINFO_FUNCTION failed : error code : -1 ( Unknown error code) in Command line code on line 1 clamav
- ソースディレクトリ内をgrepしてみると・・・
php.iniにclamav.dpbathが定義されていない場合は/var/lib/clamavをClamAVのデータベースディレクトリとして参照するみたいです
[php-clamav-0.15.7]$ grep '/var/lib/clamav' * clamav.c: STD_PHP_INI_ENTRY("clamav.dbpath", "/var/lib/clamav", PHP_INI_ALL,
- 対処方法
今回ClamAVのデータベースディレクトリは/var/clamavでしたのでこのようになります。
extension=clamav.so clamav.dbpath=/var/clamav
- 確認
問題なくロードされました。やったね。
/etc/php.d/clamav.ini, clamav php-clamav version => 0.15.7 libclamav version => 0.98 clamav.dbpath => /var/clamav => /var/clamav clamav.keeptmp => 0 => 0 clamav.load_db_on_startup => 0 => 0 clamav.maxfiles => 10000 => 10000 clamav.maxfilesize => 26214400 => 26214400 clamav.maxreclevel => 16 => 16 clamav.maxscansize => 104857600 => 104857600 clamav.tmpdir => /tmp => /tmp