2015-06-10 2 views
0

Я пытаюсь установить libinjection из here Я пытаюсь установить модуль PHP, но я получаю эту ошибку после make, make install, make test:PHP не удалось загрузить динамическую библиотеку

2/libinjection.so - /usr/lib/php5/20121212/libinjection.so: can not открытый файл общих объектов: нет такого файла или каталога в Unknown в строке 0 PHP Примечание: использование неопределенной константы LIBINJECTION_VERSION - Предполагается, что 'LIBINJECTION_VERSION 'в /home/mohammed/libin jection/PHP/example.php в строке 6

Using libinjection LIBINJECTION_VERSION PHP Fatal error: Call to undefined function new_libinjection_sqli_state() in 

/home/mohammed/libinjection/php/example.php на линии 9

В php.ini я добавил extension=libinjection.so, но я все еще получая ошибку.

Любые советы?

ответ

0

Основываясь на сообщении об ошибке

/usr/lib/php5/20121212/libinjection.so: невозможно открыть разделяемый объект файл: Нет такого файла или каталога

Когда вы запускали make install он не устанавливал расширение на путь, где PHP ищет его.

Найдите, где он установлен расширение, и скопируйте libinjection.so в /usr/lib/php5/20121212, а затем перезапустите веб-сервер (Apache, nginx и т. Д.) И повторите попытку запуска кода.

+0

Я думаю, что он не создал этот файл, libinjection.so еще не существует. Кстати, вам нужно перезагрузить PHP, а не веб-сервер. Веб-сервер нужно только перезапустить, когда PHP встроен или модуль. – DanFromGermany

0

Чтобы создать расширение в PHP, сначала нужно запустить scripts/phpize в папке PHP,

и ./configure с префиксом, чтобы найти нужную папку.

Просто используя ./configure && make && make installне достаточно.

chmod +x /usr/local/src/php-5.6.9/scripts/phpize 
/usr/local/src/php-5.6.9/scripts/phpize 

./configure --prefix /usr/local/src/php-5.6.9 \ 
--with-libdir=/lib/x86_64-linux-gnu \ 

Используйте ./configure --help, чтобы получить варианты.

Смежные вопросы