我正在尝试在我的本地安装webpaySWIG扩展程序,但它显示了一些错误。
我所做的是
cd webpaySWIG-3.2
(这是extesion的位置)sudo make -f makefilePhp5
(此命令在其文档中提及)编译时我收到以下错误
致命错误:zend.h:没有终止此类文件或目录编译。
答案 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中加载扩展名。