无法用php安装webpay扩展程序?

时间:2011-04-18 06:56:57

标签: php swig php-extension

我正在尝试在我的本地安装webpaySWIG扩展程序,但它显示了一些错误。

我所做的是

  1. cd webpaySWIG-3.2(这是extesion的位置)
  2. sudo make -f makefilePhp5(此命令在其文档中提及)
  3. 编译时我收到以下错误

      

    致命错误:zend.h:没有终止此类文件或目录编译。

4 个答案:

答案 0 :(得分:3)

我知道这是一个老问题,但最近我遇到了类似的问题。

您需要更新makefilePhp5以包含正确的php include目录。

通常是:

PHP_INCLUDE_DIR = /usr/include/php/

但是如果你在Zend Server上运行它是:

PHP_INCLUDE_DIR = /usr/local/zend/include/php/

如果不在其中任何一个中搜索zend.h并使用该目录。

答案 1 :(得分:1)

此外,我还遇到了扩展程序正在寻找要加载的链接库名称的问题。在这里你可以找到丢失的文件:

root@vps:~/webpaySWIG-3.3# ldd /usr/lib/php5/20100525/libwebpayclient.so
        linux-vdso.so.1 =>  (0x00007fff745fe000)
        libssl.so.6 => not found
        libcrypto.so.6 => not found
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f396b28a000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f396b008000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f396adf2000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f396aa66000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f396b7c6000)

然后找到每个缺失的当前版本名称,并为其创建一个符号链接,在我的情况下:

ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so.6    
ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/libssl.so.6

答案 2 :(得分:1)

我也在努力解决这个问题,但是在经过多次麻烦之后能够成功安装它。

为了节省其他开发人员的时间,我将a library to wrap around the Webpay extension放在一起。它包括一个安装了扩展的Docker容器,并有一个测试套件来检查与St.George测试服务器的连接。

答案 3 :(得分:0)

除了这个问题之外,互联网上只有一个“webpaySWIG”的引用,并且在this PDF document that seems to be an installation guide中。您最好阅读它,特别是关于所需包的位数。看起来你错过了PHP开发包。

应该注意的是,该指南提到了使用dl(),这是最近从PHP中移除的函数。您需要在php.ini中加载扩展名。