【发布时间】:2011-04-18 06:56:57
【问题描述】:
我正在尝试在本地安装 webpaySWIG 扩展,但它显示了一些错误。
我所做的是
-
cd webpaySWIG-3.2(这里是扩展的位置) -
sudo make -f makefilePhp5(他们的文档中提到了这个命令)
编译时出现以下错误
致命错误:zend.h:没有这样的文件或目录编译终止。
【问题讨论】:
标签: php swig php-extension
我正在尝试在本地安装 webpaySWIG 扩展,但它显示了一些错误。
我所做的是
cd webpaySWIG-3.2(这里是扩展的位置)sudo make -f makefilePhp5(他们的文档中提到了这个命令)编译时出现以下错误
致命错误:zend.h:没有这样的文件或目录编译终止。
【问题讨论】:
标签: php swig php-extension
我知道这是一个老问题,但我最近遇到了类似的问题。
您需要更新 makefilePhp5 以包含正确的 php 包含目录。
通常是:
PHP_INCLUDE_DIR = /usr/include/php/
但是,如果您在 Zend Server 上运行它:
PHP_INCLUDE_DIR = /usr/local/zend/include/php/
如果它不在其中任何一个中,请搜索 zend.h 并改用该目录。
【讨论】:
我也遇到了扩展程序要加载的链接库名称的问题。在这里您可以找到丢失的文件:
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
【讨论】:
我也为此苦苦挣扎,但经过一番折腾,终于成功安装了。
为了节省其他开发人员的时间,我整理了a library to wrap around the Webpay extension。它包括一个安装了扩展的 Docker 容器,并有一个测试套件来检查 St.George 的测试服务器的连接性。
【讨论】:
除了这个问题之外,互联网上只有一个关于“webpaySWIG”的参考,那就是this PDF document that seems to be an installation guide。您最好阅读它,尤其是有关所需软件包的部分。您似乎缺少 PHP 开发包。
需要注意的是,该指南提到了使用dl(),这是一个最近从 PHP 中删除的函数。您需要在 php.ini 中加载扩展。
【讨论】: