【发布时间】:2019-10-22 00:34:42
【问题描述】:
以下情况: 我有 Shopware 5.3.2 运行 PHP 版本 7.1.8。对于已安装的插件,我需要 IonCube。我下载并复制到我们的服务器(RedHat 64bit)。
我的服务器上有以下设置:
PHP 版本
PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
extension_dir
[root@vh1 modules]# php -i | grep extension_dir
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
设置包含
zend_extension=ioncube_loader_lin_7.1.so
再次显示 PHP 版本
[root@vh1 modules]# php -v
Failed loading /usr/lib64/php/modules/ioncube_loader_lin_7.1.so: /usr/lib64/php/modules/ioncube_loader_lin_7.1.so: undefined symbol: zend_execute_ex
PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
我只得到错误
Failed loading ioncube_loader_lin_5.4.so: ioncube_loader_lin_5.4.so: cannot open shared object file: No such file or directory
【问题讨论】:
-
必须将您使用的主要 PHP 版本与构建模块的 PHP 版本相匹配。在一个错误中,您使用的是 PHP 5.4 CLI,而 Loader 用于 PHP 7.1。在另一个错误中,您有适用于 PHP 5.4 的 Loader 和适用于其他东西的 PHP。作为避免不必要混淆的起点,请确保您的 CLI 和 Web 服务器 PHP 版本相同——我怀疑它们不是。然后为你的系统安装相关的Loader。