0

我正在尝试使用 ioncube 为 Unix 系统提供的“make_license”生成器生成 ioncube 许可证。它适用于我的桌面 Ubuntu 系统,但不适用于我的 CentOS 网络服务器。

每次我尝试运行该文件时,我都会在终端中收到“Killed”消息,所以它看起来像这样:

[root@myserver test]# ./make_license --passphrase 'secret' --expire-in 20d > 'license.txt'
Killed
[root@myserver test]#

在我执行文件后只是一个奇怪的消息“被杀死”,没有别的。我还尝试将“sudo”放在“./make_license --passphrase .....”前面,它起作用了,但许可证文件生成为空(0 字节)。

我已经尝试 chmod 755 和 777 来“make_license”,但它没有帮助。我也尝试停止“/etc/init.d/amavisd”,以防万一它是防病毒软件,但同样的事情。

我的服务器配置是:CentOS-6.2 64bit + Nginx, PHP-FPM, APC, php-ioncube-loader-4.2.2-2.el6.art.x86_64

我在 Ioncube 论坛上发现了同样的问题,但没有答案: http: //forum.ioncube.com/viewtopic.php? t=3909&sid=8d595f7005f5b851479a00d387635ad7

请分享您可能有的任何想法。

4

1 回答 1

1

所以我联系了 ioncube 支持,他们是这样回答的:

这里有两件事要检查:-

  1. 您已将 make_license 程序以二进制模式而不是 ASCII 模式上传到您的服务器。
  2. 您已安装 32 位兼容性库(因为 make_license 与编码器一样,是一个 32 位程序)。

在这种情况下,加载程序无关紧要,因为它与 make_license 的问题无关。

可能需要为 CentOS 安装 32 位兼容性库,以便 make_license 工作,因为它是一个 32 位程序。

make_license 文件在任何情况下都是二进制文件,但如果您通过 FTP 以 ASCII 模式而不是二进制文件上传到服务器,则可能会损坏文件并导致“已终止”消息。所以请再次上传make_license,确保在您的FTP客户端中选择二进制模式。

所以我检查了我的 make_license 文件:

[root@localhost test]# file make_license

make_license: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped

它说该文件是“可执行的”,我认为它是=“二进制”。

但显然它不是二进制的。因为在我再次上传它之后,确保我的 FTP 客户端中的传输模式是“二进制” - 一切正常。不再生成“已终止”消息和许可证。

希望这可以帮助某人。

于 2013-03-14T17:51:04.550 回答