4

我通过 VirtualBox 在本地安装了 Ubuntu Server 12.10,用于我的 PHP 编程目的。

最近我以这种方式安装了Xdebug:

sudo apt-get install php5-xdebug

然后将'xdebug'路径添加到我的/etc/php5/apache2/php.ini:

zend_extension=/usr/lib/php5/20100525+lfs/xdebug.so

然后我重新启动了apache。而且,卡住了。我的本地网站没有加载。'php -v'(以及 'php -m')说:

PHP 致命错误:[ionCube Loader] Loader 必须作为第 0 行 Unknown 的 php.ini 文件中的第一个条目出现

问题是我没有安装 Ioncube。我试图用谷歌搜索这个错误消息,但到处都说似乎安装了错误的 Ioncube,或者与 xdebug 和 ioncube 不兼容的东西。但我根本没有安装 inocube!

怎么了?我怎样才能让我的 apache 重新活着?项目正在燃烧:(

更新:

我找到了一个原因。'php5-xdebug' 包似乎有一个针对 ioncube-xdebug 不兼容的内置修复程序。当我安装它时,我得到了文件 /etc/php5/conf.d/ioncube.ini ,其中 ioncube 作为 zend 扩展名包含在内。我用 php5-xdebug 包得到了这个文件。所以我删除了那个文件,apache 就开始了。

4

2 回答 2

11

Ioncube 必须在任何其他扩展之前加载,因此要解决此问题,请执行以下操作:

  1. 转到 /etc/php5/conf.d
  2. 输入 mv ioncube.ini 01-ioncube.ini
  3. 重启 apache 服务 apache2 重启
  4. 享受 ioncube 和 xdebug :)
于 2013-10-16T16:45:06.660 回答
3

在 apache 安装的包含文件夹中注释 ioncube loader 并将其移动到 php.ini 中的扩展块,因此它看起来像这样:

    zend_extension = /usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.3.so
    zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so

基本上你必须先加载ioncube,然后才加载xdebug。

于 2013-11-12T11:45:56.967 回答