LINUX.ORG.RU
ФорумAdmin

требуется помощь по php-clamav (не корректно установился, не работает)

 , , php-clamav, ,


0

1

скомпилировал clamav.so,подключил, php-clamav запустился, прописал в тестовом PHP-файле вывод функции echo cl_info();, но вывода не получил, хотя должно было появиться: версия, кол-во сигнатур и т.д. Проверил в phpinfo появилось только название секции «clamav» и ни каких параметров. В php.ini вообще не появилось секции «clamav».

Запустил тестовый скрипт http://localhost/php-clamav-0.15.7/phpclamav_test.php, и получаю названия функций (значит что-то работает):

Functions available in the test extension: cl_info cl_scanfile cl_engine cl_pretcode cl_version cl_debug

Запустил ещё один тестовый скрипт (скрипт от разработчиков, лежал также в каталоге с исходными кодами php-clamav) http://localhost/php-clamav-0.15.7/run-tests.php:

Получаю ошибку - «ERROR: environment variable TEST_PHP_EXECUTABLE must be set to specify PHP executable!»

Мои действия по установке php-clamav на Ubuntu 14.04:

1. apt-get update 2. apt-get upgrade 3. apt-get install php5-dev 4. apt-get install clamav 5. apt-get install libclamunrar6 6. apt-get install libclamav-dev 7. wget https://launchpad.net/php-clamav/trunk/0.15.7/ download/php-clamav_0.15.7.tar.gz 8. tar -xvvzf php-clamav_0.15.7.tar.gz 9. cd php-clamav_0.15.7 10. phpize 11. ./configure --with-clamav 12. make 13. make test 14. make install 15. echo «extension=clamav.so» > /etc/php5/mods-available/clamav.ini 16. php5enmod clamav 17. service apache2 restart

Помогите решить проблему, уже не знаю куда копать. Сейчас пробую на другую машину поставить под Debian c PHP версией - 5.4



Последнее исправление: okuznetsov1 (всего исправлений: 1)

run-tests.php это не тесты, это скрипт, запускающий заданные тесты и сравнивающий результаты.

Что пишет phpclamav_test.php? Он должен помимо функций писать либо результат проверки файла (в переменной $file), либо что модуль не загружен (″ is not loaded into PHP″).

mky ★★★★★
()
Ответ на: комментарий от mky

Давайте забудем про ошибки в предыдущем посте (Ubuntu пока отложим), т.к. после того как тоже самое что делал на Ubuntu установил/продублировал на Debian - дела пошли лучше, т.е.:

1) в phpinfo появилось название секции «clamav» со всеми параметрами - http://www.girlswantgames.com/php-clamav-0.15.8/test.php 2) заработала функция echo cl_info() - http://www.girlswantgames.com/php-clamav-0.15.8/test2.php 3) скрипт http://www.girlswantgames.com/php-clamav-0.15.8/phpclamav_test.php частично заработал, при этом пришлось закоментировать часть кода. В частности скрипт спотыкнулся (появилась 500 ошибка) на строке: echo «<b>cl_version() return : </b>».cl_version().$br - закоментировал её, затем спотыкнулся на целом блоке кода начинающимся со строки: # Run cl_engine() for set the limits values on scan. cl_engine(10000, 734003200, 734003200, 25, 0) 4) скрипт с тестами http://www.girlswantgames.com/php-clamav-0.15.8/run-tests.php - по прежнему не работает, появляется та же самая ошибка, что была на Ubuntu (ERROR: environment variable TEST_PHP_EXECUTABLE must be set to specify PHP executable!)

В общем складывается такое впечатление, что чего то не хватает для полноценной работы php-clamav.

okuznetsov1
() автор топика
Ответ на: комментарий от okuznetsov1

От того, что мы всё забыли про ubuntu не означает, что Дебиане какой-то другой run-tests.php. Повторяю ещё раз, это не тестовый скрипт, это скрипт для запуска тестовых скриптов и ему нужно указывать эти тестовые скрипты, именно про это он и ругается. Я не знаю где вы взяли run-tests.php, в tar.gz с sourceforge.net его нет.

Под дебианом вы собирали deb-пакет с помощью dpkg-buildpackage и устанавливали его, или так же как под убунту через ″make install″? Если через ″make install″, то в ″/etc/php/conf.d/clamav.ini″ прописывали параметры в секции [clamav], как это указано в файле ″README.Debian″?

mky ★★★★★
()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от mky

по поводу «ему нужно указывать эти тестовые скрипты, именно про это он и ругается» - спасибо, теперь ясно, в прошлый раз проявил не внимательность и времени особо не было разбираться с run-tests.php.

run-tests.php - действительно его не было в архиве,на сколько я помню он появился в каталоге после сборки .so файлов

dpkg-buildpackage - устанавливал на debian абсолютно также как на ubuntu (шаги описал в предыдущем посте)

В принципе сегодня ещё продвинулся, кое что получилось, проверить удалось не до конца, возникли проблемы на сервере, сейчас решаю их

okuznetsov1
() автор топика
Ответ на: комментарий от okuznetsov1

решил проблемы на сервере (но не все), затем удалось нормализовать работу php-clamav, вот скрипт проверяющий файл на вирусы - http://www.girlswantgames.com/php-clamav-0.15.8/test3.php

содержимое файла:

<?php $file=«Exploit.Linux.SSHD22.b.zip»; $virus_name="";

$retcode = cl_scanfile($file, $virus_name); if ($retcode === CL_VIRUS) { echo «Virus Detected! {$virus_name}»; } elseif ($retcode === CL_CLEAN) { echo «Virus Not Detected!»; } ?>

Теперь возникла другая проблема (связана скорее всего с настройками сервера, а не некорректной установкой php-clamav):

Тестовый скрипт проверяющий файл на вирусы отрабатывает (http://www.girlswantgames.com/php-clamav-0.15.8/test3.php), но я заметил, что работает через раз, т.е. запускаешь один раз - скрипт отрабатывает, запускаешь 2-ой раз - отваливался с ошибкой: «Internal Server Error. The server encountered an internal error or misconfiguration and was unable to complete your request.», и так поочередно через раз происходит.

Начал решать проблему, в логах (/var/log/apache2/error.log) нашёл вот такое сообщение (появляется когда скрипт отваливается):

[Thu Jul 14 20:39:20 2016] [notice] EACCELERATOR(32607): PHP crashed on opline 5 of cl_scanfile() at /var/www/sitegirlsgames/data/www/girlswantgames.com/php-clamav-0.15.8/test3.php:7

[Thu Jul 14 20:39:23 2016] [error] mod_fcgid: process /var/www/php-bin/sitegirlsgames/php(32607) exit(communication error), get unexpected signal 11

Что можете посоветовать?

okuznetsov1
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.