2015-04-20 40 views
2

我無法使用phpfarm配置ioncube或源監護程序加載程序。我認爲這是「(DEBUG)」在php -v,但我不知道如何。我需要這個問題的幫助。使用PHPfarm錯誤與加載程序(ioncube和源監護人)建立PHP

我的PHP -v:

[email protected]:/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 
+0

歡迎來到Stack Overflow!我通過選擇文本然後按下工具欄上的「{}」按鈕來格式化你的'php -v'響應。 –

+0

哦,非常感謝,更清楚 – martin

回答

2

雖然我只能回答爲Ioncube公司裝載機,我相信同樣適用於源守護裝載機。

PHP擴展需要匹配確切的相同版本,包括髮布/調試狀態,線程安全和PHP版本。因此,你是正確的,因爲ionCube加載器不能在使用調試符號編譯的PHP上工作。 ionCube不爲這個場景提供Loaders,所以你唯一的解決方案是將PHP作爲發佈版本。

請注意,使用調試符號構建PHP很可能不會幫助您調試PHP腳本,如果這是您的目標。

+0

嗨,感謝您的快速響應。我使用phpfarm來編譯我的PHP,我不知道如何編譯沒有調試符號。我添加了options.sh --disable-debug,但它不起作用。我如何得到沒有調試符號的PHP? – martin

+2

@martin通過phpfarm的構建腳本,你可以嘗試刪除[第116行](https://github.com/cweiske/phpfarm/blob/master/src/compile.sh#L116):'--enable-debug'來自'compile.sh'腳本。我沒有看到有關PHP的調試版本的其他參考。 – SebiH

+0

太棒了!是解決方案。 Thankss! – martin