2016-08-12 71 views
2

我有一個關於ionCube加載程序和php56的問題。php56 ionCube加載錯誤 - 便攜式電腦

我已經安裝php56和a lot of missing components爲了有php56的工作。

所以ionCube Loader需要和已經安裝了它,並在終端php寫入後,錯誤的是:

PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0

所以,我已經看到了Ioncube公司裝載機和README.md文件的文檔,似乎它只是爲服務器(?)。因此,通過去除brew rm php56-ioncubeloader後出現的正常誤差:

Failed loading /usr/local/opt/php56-ioncubeloader/ioncubeloader.so: dlopen(/usr/local/opt/php56-ioncubeloader/ioncubeloader.so, 9): image not found PHP Fatal error: Function annotation compilation failed for function cbdsn_stringify in file [CouchbaseNative]/connstr.php at line 193, error message: You MUST specify a type for all parameters in Unknown on line 0

現在我問自己,如果ionCube Loader需要php56在便攜式計算機上。 如果ionCube是有用的,那麼我會安裝它,並遵循this guide。如果它對開發沒有用處,請告訴我如何刪除此默認擴展加載?我認爲它是用於自動加載的文件,正好在/connstr.php中,但我找不到所在的路徑。我希望瞭解如何解決它。 任何建議或批評都被完全接受。

謝謝&有一個愉快的一天,

克里斯蒂安

回答

1

Ioncube公司是預編譯。 PHP通常會經歷兩遍。第一遍解析並編譯代碼。第二個執行代碼。爲了「保護」代碼,ionCube編譯它,然後將編譯後的文件加載到服務器上,其他人無法讀取PHP代碼。

你不需要這個用於開發目的。

這聽起來像你在Debian風格的Linux(也許是Ubuntu?)。在打包的PHP中,PHP被分解成單獨的編譯。這些編譯通常使用單獨的INI文件加載這些編譯的擴展(在CentOS中,這些文件位於/etc/php.d中,但在Debian中爲YMMV)。確保你沒有一個單獨的配置加載它。

+0

我在MacOS上,ini文件在:/usr/local/etc/php/5.6/php.ini MAMP下有很多,但現在我沒有使用它。 – stykky

+0

反正我目前使用的是/ usr/local/bin/php不是/ usr/bin/php的原因我已經改變了symblink的路徑,以便通過brew和升級 – stykky

0

如果您僅在筆記本電腦上使用乾淨的PHP源代碼,則無需使用ionCube。但是,如果您即使用第三方模塊等預編譯的PHP代碼,則需要安裝ionCube才能運行集成或驗收測試。