php -v 无法加载/usr/lib64/php/modules/ioncube_loader_lin_5.6.so:

php -v 无法加载/usr/lib64/php/modules/ioncube_loader_lin_5.6.so:

这是我在 cenOS 6.7 上使用 apache2 2.4.16 编译 PHP 5.6.11 的方法:

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --with-mysql --with-curl --with-openssl --disable-fileinfo --enable-bcmath --enable-calendar --enable-ftp --enable-libxml --enable-mbstring --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-wddx --with-kerberos --with-mcrypt --enable-sockets --with-zlib --with-pdo-mysql --with-mysqli --with-gettext --enable-cgi --enable-mbstring --with-gd --enable-pdo --with-pdo-mysql --with-pdo-pgsql --with-mysqli=/usr/bin/mysql_config --with-mysql-sock=/var/lib/mysql/mysql.sock '--with-snmp' '--enable-soap'

但是当我在 php.ini 中包含 ioncube 加载器时:

zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_5.6.so

在检查 php 版本时,它开始给出这个错误:

php -v 无法加载/usr/lib64/php/modules/ioncube_loader_lin_5.6.so:

/usr/lib64/php/modules/ioncube_loader_lin_5.6.so:未定义符号:executor_globals PHP 5.6.11(cli)(构建时间:2015 年 12 月 28 日 17:35:58)版权所有 (c) 1997-2015 The PHP Group Zend Engine v2.6.0,版权所有 (c) 1998-2015 Zend Technologies

我也确定扩展目录,因为我得到了这个:

php -i | grep extension_dir 无法加载 /usr/lib64/php/modules/ioncube_loader_lin_5.6.so:

/usr/lib64/php/modules/ioncube_loader_lin_5.6.so: 未定义符号:executor_globals extension_dir => /usr/lib64/php/modules/ => /usr/lib64/php/modules/ sqlite3.extension_dir => 无值 => 无值

因此,我已将 ioncube_loader_lin_5.6.so 放在模块目录中。

同时,我在 ioncube 编码页面上看到空白屏幕。我试图找出错误“未定义符号:executor_globals”,该错误通常发生在 php 和 ioncube 之间存在版本差异时。但我使用的是适用于 php 5.6.11 的正确加载器 5.6。

请帮助我摆脱这件令人讨厌的事情。

答案1

根据要求,为了提高可见性:

线程安全在 ionCube Loader 和 PHP 二进制文件中都必须匹配 - 例如,如果php -i | grep "Thread Safety" -i显示为已启用,则必须使用线程安全的 ionCube Loader。

相关内容