使用加载器(ioncube 和源代码守护者)构建 PHP 并出现 PHP 农场错误

Build PHP with PHPfarm errors with loaders (ioncube and source guardian)

我无法使用 phpfarm 配置 ioncube 或源代码守护程序加载程序。我认为这是 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

虽然我只能回答 ionCube Loaders,但我认为这同样适用于 Source Guardian Loaders。

PHP 扩展需要匹配 完全 相同的版本,包括 release/debug 状态、线程安全和 PHP 版本。因此,您是对的,因为 ionCube 加载器将无法在使用调试符号编译的 PHP 上工作。 ionCube 不为这种情况提供加载程序,因此您唯一的解决方案是构建 PHP 作为发布版本。

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