Я использую Ubuntu 15,04 - 64 бит со следующей установкой:Apache не будет загружать Zend Guard Loader
Apache
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
Также приятно знать:
My Apache Error Log также "чистый". Если я переименую файл .so, мой Apache регистрирует это исключение. Но на текущей установки, файл читается .. Не поймите меня неправильно, но я ожидаю сообщение типа «ZendGuardLoader не может быть загружен, потому что» ..
Update1
После нескольких часов, я очень напуган! Я установил бродягу вкл. «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). BUT (!): Php -v запускается командой commandline (cli) - поэтому я добавил «zend_extension» внутри php5 \ cli \ php.ini -> работает как шарм!
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, но это менее серьезная проблема. Поэтому я интегрировал ioncube в CLI, а также на apache. CLI работает как шарм. 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") может!