【问题标题】:Build PHP with PHPfarm errors with loaders (ioncube and source guardian)使用加载器(ioncube 和 source Guardian)构建 PHP 时出现 PHPfarm 错误
【发布时间】:2015-06-26 14:15:26
【问题描述】:

我无法使用 phpfarm 配置 ioncube 或 source Guardian 加载器。我认为这是 php -v 中的“(DEBUG)”,但我不知道该怎么做。我需要有关此问题的帮助。

我的 php -v:

root@martin:/opt/phpfarm/src# /opt/phpfarm/inst/php-5.3.22/bin/php -v

Cannot load the ionCube PHP Loader - it was built with configuration API220090626,NTS, whereas running engine is **API220090626,NTS,debug**
PHP Warning:  PHP Startup: SourceGuardian: Unable to initialize module

Module compiled with build ID=API20090626,NTS
PHP    compiled with build **ID=API20090626,NTS,debug**
These options need to match
 in Unknown on line 0

Warning: PHP Startup: SourceGuardian: Unable to initialize module
Module compiled with build ID=API20090626,NTS
PHP    compiled with build ID=API20090626,NTS,debug
These options need to match
 in Unknown on line 0

PHP 5.3.22 (cli) (built: Apr 19 2015 17:43:14) **(DEBUG)**

Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

【问题讨论】:

  • 欢迎来到 Stack Overflow!我通过选择文本然后按工具栏上的{} 按钮来格式化您的php -v 响应。
  • 哦,非常感谢,更清楚了

标签: php ioncube phpfarm


【解决方案1】:

虽然我只能回答 ionCube 加载器,但我想这同样适用于 Source Guardian 加载器。

PHP 扩展需要与完全相同 相同的版本,包括发布/调试状态、线程安全和 PHP 版本。因此,您是对的,ionCube 加载器不适用于使用调试符号编译的 PHP。 ionCube 不为此场景提供加载器,因此您唯一的解决方案是将 PHP 构建为发布版本。

请注意,使用调试符号构建 PHP 很可能无法帮助您调试 PHP 脚本,如果这是您的目标的话。

【讨论】:

  • 您好,感谢您的快速回复。我正在使用 phpfarm 编译我的 php,但我不知道如何在没有调试符号的情况下进行编译。我添加了 options.sh --disable-debug 但它不起作用。如何获得没有调试符号的 php?
  • @martin 查看 phpfarm 的构建脚本,您可以尝试从 compile.sh 脚本中删除 line 116: --enable-debug。我没有看到其他关于 PHP 调试版本的参考资料。
  • 太棒了!是解决方案。谢谢!
猜你喜欢
  • 2019-07-31
  • 2015-06-14
  • 2015-05-22
  • 2018-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 2018-05-04
相关资源
最近更新 更多