É assim que eu estou compilando o PHP 5.6.11 com o apache2 2.4.16 no cenOS 6.7:
./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'
Mas quando incluo o ioncube loader no php.ini com:
zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_5.6.so
Ele começa a me dar este erro na verificação da versão do php:
php -v Failed loading /usr/lib64/php/modules/ioncube_loader_lin_5.6.so:
/usr/lib64/php/modules/ioncube_loader_lin_5.6.so: undefined symbol:
executor_globals PHP 5.6.11 (cli) (built: Dec 28 2015 17:35:58)
Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright
(c) 1998-2015 Zend Technologies
Eu também tenho certeza sobre o diretório de extensão, porque eu recebo isso:
php -i | grep extension_dir Failed loading /usr/lib64/php/modules/ioncube_loader_lin_5.6.so:
/usr/lib64/php/modules/ioncube_loader_lin_5.6.so: undefined symbol:
executor_globals extension_dir => /usr/lib64/php/modules/ =>
/usr/lib64/php/modules/ sqlite3.extension_dir => no value => no value
Então, coloquei ioncube_loader_lin_5.6.so no diretório modules.
Enquanto isso, estou recebendo uma tela em branco na página codificada do ioncube. Eu tentei descobrir o erro "undefined symbol: executor_globals", que geralmente vem quando há uma diferença de versão entre php e ioncube. Mas estou usando o carregador 5.6 correto para o php 5.6.11.
Por favor me ajude a sair dessa coisa desagradável.