I am using Ubuntu 15.04 - 64 bit with the following setting:
Apache
Server version: Apache / 2.4.10 (Ubuntu), created server: July 24, 2015 17:25:18
Php
PHP 5.6.4-4ubuntu6.2 (cli) (built: July 2, 2015 15:29:28) Copyright, (c) 1997-2014. PHP Group Zend Engine v2.6.0, Copyright (c), 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright, (c) 1999-2014, Zend Technologies
My php.ini (last 5 lines)
And yes, ZendGuardLoader will not be loaded (it is not mentioned in "php -v", nor in "phpinfo ()"). Thread protection is disabled! If you need other options, let me know.
What I have tried so far:
- removed option "zend.loader = 1",
- Fixed "zend_loader.enabled = 1" instead of "zend.loader"
- included an older version from ZendGuardLoader (5.5 instead of 5.6)
- Changed the owner and group of both files to my account (instead of www-data)
- Changed permissions for 777, 775, 755
It is also nice to know:
My Apache error log is also "clean." If I rename the .so file, my Apache will log this exception. But with the current setup, the file is read. Don't get me wrong, but I expect the message "ZendGuardLoader cannot be downloaded because" ..
Update1
A few hours later I am very scared! I set the tramp on. "Debian 7.8" also started everything and so on. I installed PHP (5.4) and Apache on my mailbox, created a www folder for the same destination and downloaded 5.4 ZendGuard Loader. In my installation, I did the same as on my main system, for example → php.ini, the last entry: "zend_extension = / vagrant / ZendGuardLoader.so"
The file exists, is also readable, etc. By creating the new "info.php" ("phpinfo ()"), it still does not have the ZendGuardLoader extension. The php -v command says basically the same thing as the main system (version differences ..).
Solution for php -v
Ok guys, my mind was broken - but it’s not fixed! I told you, checking php -v, the output is pretty default (without ZendGuardLoader). BUT (!): Php -v is started by command (cli) - so I added "zend_extension" inside php5 \ cli \ php.ini → it works like a charm!
PHP 5.4.41-0 + deb7u1 (cli) (built: May 22, 2015 12:49:18) Copyright (c) 1997-2014 PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with Zend Guard Loader v3.3, Copyright (c) 1998-2013, Zend Technologies
This is what I wanted. So I called the phpinfo file using the command line and saved the output to a separate file. And, as I see it, ZendGuardLoader is set too!
But there is still an Apache problem. The zend_extension line exactly matches between apache2 \ php.ini and cli \ php.ini.
So this is not a resolution problem, because the CLI has no problems. I think apache is broken because it will not load this less special extension ..
New day - new ideas
Ok guys, yesterday we realized why this would not work on the CLI, but this is less a major problem. Therefore, I integrated ioncube into the CLI as well as apache. CLI works like a charm. Apache will also not download ioncub. So what's wrong with this apache ..?
I tried to cause some errors by creating a new file in the php5 \ apache2 \ conf.d \ directory. The new file contains the same fragment "zend_extension = / vagrant / ZendGuardLoader.so" as my php5 \ apache2 \ php.ini, so apache2 will try to download .so twice and gives the expected error:
PHP Fatal error: [Zend Guard Loader] The extension "Zend Guard Loader" cannot be loaded twice in Unknown on line 0
Apache is trying to download both extensions. Therefore, I may be right if I say apache2 will download the extension if it is only one! But it seems apache cannot work with the extension. Remember - php cli ("php -v" / "php -m") can!