无法使用 php 安装 webpay 扩展程序?
Posted
技术标签:
【中文标题】无法使用 php 安装 webpay 扩展程序?【英文标题】:can't install webpay extension with php? 【发布时间】:2011-04-18 06:56:57 【问题描述】:我正在尝试在本地安装 webpaySWIG 扩展,但它显示了一些错误。
我所做的是
cd webpaySWIG-3.2
(这里是扩展的位置)
sudo make -f makefilephp5
(他们的文档中提到了这个命令)
编译时出现以下错误
致命错误:zend.h:没有这样的文件或目录编译终止。
【问题讨论】:
【参考方案1】:我知道这是一个老问题,但我最近遇到了类似的问题。
您需要更新 makefilePhp5
以包含正确的 php 包含目录。
通常是:
PHP_INCLUDE_DIR = /usr/include/php/
但是,如果您在 Zend Server 上运行它:
PHP_INCLUDE_DIR = /usr/local/zend/include/php/
如果它不在其中任何一个中,请搜索 zend.h
并改用该目录。
【讨论】:
我遇到了这个问题,我尝试按照 api 指南中的建议使用 phpinfo 显示的包含路径,但是搜索 zend.h 并使用它,这是 /usr/include/php5 工作的【参考方案2】:我也遇到了扩展程序要加载的链接库名称的问题。在这里您可以找到丢失的文件:
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
【讨论】:
【参考方案3】:我也为此苦苦挣扎,但经过一番折腾,终于成功安装了。
为了节省其他开发人员的时间,我整理了a library to wrap around the Webpay extension。它包括一个安装了扩展的 Docker 容器,并有一个测试套件来检查 St.George 的测试服务器的连接性。
【讨论】:
【参考方案4】:除了这个问题之外,互联网上只有一个关于“webpaySWIG”的参考,那就是this PDF document that seems to be an installation guide。您最好阅读它,尤其是有关所需软件包的部分。您似乎缺少 PHP 开发包。
需要注意的是,该指南提到了使用dl()
,这是一个最近从 PHP 中删除的函数。您需要在 php.ini 中加载扩展。
【讨论】:
那是因为它是一个圣乔治互联网支付网关模块。 ipg.stgeorge.com.au/download.asp dl: 警告 自 PHP 5.3.0 起,此功能已被弃用,自 PHP 5.4.0 起已移除。 所以是的,你将 extension=webpay_php.so 添加到你的 php.ini以上是关于无法使用 php 安装 webpay 扩展程序?的主要内容,如果未能解决你的问题,请参考以下文章