我使用Ubuntu 15.04 - 與以下設置64位:Apache將不會加載Zend的衛隊裝載機
阿帕奇
Server version: Apache/2.4.10 (Ubuntu), Server built: Jul 24 2015 17:25:18
PHP
PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28) Copyright, (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c), 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright, (c) 1999-2014, by Zend Technologies
我的php.ini(最後5行)
; Local Variables:
; tab-width: 4
; End
zend.loader=1
zend_extension="/var/www/extensions/ZendGuardLoader_56.so"
是的,ZendGuardLoader不會被加載(它沒有在「php -v」中提及,也沒有在「phpinfo()」中提到)。 線程安全已禁用!如果您需要其他選項,請告訴我。
我試過到目前爲止:
- 去掉了 「zend.loader = 1」 選項,
- 試圖 「zend_loader.enabled = 1」,而不是 「zend.loader」
- 包括來自ZendGuardLoader舊版本(5.5代替5.6)
- 改變從兩個文件中的所有者和組到我的賬戶(代替WWW的數據)
- 改變了權限777,775,75 5
也很高興知道:
我的Apache的錯誤日誌也 「乾淨」。如果我重命名.so文件,我的Apache會記錄該異常。但在當前的設置,該文件是可讀的。不要誤會我的意思,但我希望像「ZendGuardLoader無法加載,因爲」消息..
UPDATE1
幾個後小時,我很害怕!我已經安裝vagrant incl。 「Debian 7.8」以及開始一切等等。在我的盒子上我安裝了PHP(5.4)和Apache,創建了www文件夾到同一個目的地,並下載了5.4 ZendGuard Loader。在我的盒子設置中,我做了同樣的事情,就像在我的主系統上 - > php.ini,最後一個輸入:「zend_extension =/vagrant/ZendGuardLoader.so」
該文件存在且可讀,等等。創建新的「info.php」(「phpinfo()」)後,它仍然沒有ZendGuardLoader擴展。命令php -v與主系統(版本上的差異)大體相同。爲PHP
解決方案-v
好球員,我的心被打破 - 但它不是固定的!我告訴過你,通過檢查php -v輸出是非常默認的(沒有ZendGuardLoader)。但(!):php -v被命令行(cli)執行 - 所以我在php5 \ cli \ php.ini中添加了「zend_extension」 - >就像一個魅力!
PHP 5.4.41-0+deb7u1 (cli) (built: May 22 2015 12:49:18) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies
這就是我想要的。所以我通過使用命令行調用了phpinfo文件 - 並將輸出保存到一個單獨的文件中。正如我所看到的,ZendGuardLoader也是給出的!
但仍然存在Apache問題。 zend_extension行完全匹配apache2 \ php.ini和cli \ php.ini。
所以這不是一個權限問題,因爲CLI沒有問題。我認爲,阿帕奇壞了,因爲它不會加載少的特殊擴展..
新的一天 - 新思路
好球員,昨天我們得到了一點,爲什麼它不會工作在CLI上,但那不是主要問題。所以我已經在CLI和apache上整合了ioncube。 CLI的功能就像一個魅力。 Apache也不會加載ioncube。那麼這個apache有什麼問題?
我試圖通過在php5 \ apache2 \ conf.d \目錄中創建一個新文件來引發一些錯誤。這個新文件包含相同的「的zend_extension = /流浪者/ ZendGuardLoader.so」片段,因爲我的PHP5 \ Apache2的\ php.ini中 - 這樣的Apache2會試圖加載的.so兩次,並引發了預期的錯誤:
PHP Fatal error: [Zend Guard Loader] Extension "Zend Guard Loader" cannot be loaded twice in Unknown on line 0
Apache嘗試加載兩個擴展。所以我可能是對的,如果我會說,apache2加載擴展名,如果它只有一個!但是,似乎apache無法使用擴展名。記住 - php cli(「php -v」/「php -m」)可以!