当启用ioncube-loader扩展时,PHP5-FPM将无法启动。
我做了什么:
先决条件:
OS:
> uname -a
Linux halali 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u4 (2015-09-19) x86_64 GNU/Linux
PHP:
> php -v
PHP 5.6.14-0+deb8u1 (cli) (built: Oct 4 2015 16:13:10)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
启用扩展程序的步骤:
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfv ioncube_loaders_lin_x86-64.tar
由于我的VM中安装了php 5.6,我将5.6版本的ioncube加载程序复制到扩展目录/ usr / lib / php5 / 20131226中。
> php -i | grep extension_dir
extension_dir => /usr/lib/php5/20131226 => /usr/lib/php5/20131226
> ls -l /usr/lib/php5/20131226/
total 4200
-rw-r--r-- 1 root root 89240 Oct 4 16:23 curl.so
-rw-r--r-- 1 root root 114200 Oct 4 16:23 gd.so
-rw-r--r-- 1 root root 23656 Oct 25 2014 geoip.so
-rw-r--r-- 1 root root 384200 Oct 21 2014 imagick.so
-rw-r--r-- 1 root root 415168 Oct 4 16:23 intl.so
-rwxr-xr-x 1 root root 1418736 Nov 28 15:59 ioncube_loader_lin_5.6.so
-rw-r--r-- 1 root root 39696 Aug 1 2014 json.so
-rw-r--r-- 1 root root 48072 Oct 4 16:23 mcrypt.so
-rw-r--r-- 1 root root 107880 Oct 25 2014 memcached.so
-rw-r--r-- 1 root root 103720 Oct 25 2014 memcache.so
-rw-r--r-- 1 root root 155560 Oct 4 16:23 mysqli.so
-rw-r--r-- 1 root root 60504 Oct 4 16:23 mysql.so
-rw-r--r-- 1 root root 160344 Oct 4 16:23 opcache.so
-rw-r--r-- 1 root root 32072 Oct 4 16:23 pdo_mysql.so
-rw-r--r-- 1 root root 122440 Oct 4 16:23 pdo.so
-rw-r--r-- 1 root root 31576 Oct 4 16:23 readline.so
-rw-r--r-- 1 root root 865166 Aug 25 2014 xdebug.so
-rw-r--r-- 1 root root 98728 Nov 28 15:27 xhprof.so
在/etc/php5/fpm/php.ini中,我添加了以下行:
extension=ioncube_loader_lin_5.6.so
但是,php5-fpm无法启动:
sudo /etc/init.d/php5-fpm restart
[....] Restarting php5-fpm (via systemctl): php5-fpm.serviceJob for php5-fpm.service failed. See 'systemctl status php5-fpm.service' and 'journalctl -xn' for details.
failed!
我还尝试在php-ini中添加.so-File的完整路径和文件名。它不会起作用
答案 0 :(得分:1)
在你的php.ini中你必须写:
zend_extension=/usr/lib/php5/20131226/ioncube_loader_lin_5.6.so
而不是
extension=...
不同之处在于,离子立方体加载器是xdebug的核心扩展,直接进入zend引擎本身。