PHP无法加载动态库

时间:2015-06-10 17:03:22

标签: php dynamic

我正在尝试从 here 安装libinjection 我正在尝试安装PHP模块,但我在makemake installmake test之后收到此错误:

  

2 / libinjection.so - /usr/lib/php5/20121212/libinjection.so:不能   打开共享对象文件:在线未知中没有此类文件或目录   0 PHP注意:使用未定义的常量LIBINJECTION_VERSION -   假设'LIBINJECTION_VERSION'   第6行/home/mohammed/libinjection/php/example.php

Using libinjection LIBINJECTION_VERSION PHP Fatal error:  Call to undefined function new_libinjection_sqli_state() in
     第9行的 /home/mohammed/libinjection/php/example.php

在php.ini中我添加了     extension=libinjection.so但我仍然收到错误。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

基于错误消息

  

/usr/lib/php5/20121212/libinjection.so:无法打开共享对象   file:没有这样的文件或目录

当您运行make install时,它没有将扩展安装到PHP正在寻找它的路径。

找到安装扩展名的位置,然后将libinjection.so复制到/usr/lib/php5/20121212,然后重新启动Web服务器(Apache,nginx等)并再次尝试运行代码。

答案 1 :(得分:0)

在PHP中构建扩展, 首先需要在PHP文件夹中运行scripts/phpize

./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获取可用选项。