Глюки ZendEncoder/ZendOptimizer и общение с суппортом Zend

benadin

Guest
Re: Re: Re: Re: Глюки ZendEncoder/ZendOptimizer и общение с суппортом Zend

Проблема с Zend Optimizer также обнаружена в перекрытии методов в дочерних классах. При условии что базовый класс лежит в другом файле.

Проблема возникает при попытке исполнения скрипта под PHP5. При этом под PHP4 этот же пример работает на ура.

Пример, демонстрирующий баг Zend Optimizer под PHP5:

file 1.php:
Код:
<?
class c1 {
	function foo() {
	}
}
?>
file 2.php:
Код:
<?
include_once '1.php';
class c2 extends c1 {
	function foo() {
	}
}
$obj = new c2();
?>
Достаточно заэнкодить 1.php как 2.php прерывает работу ошибкой:
PHP Fatal error: Access level to c2::foo() must be (as in class c1) or weaker

Если инклюд произвести "вручную" - т.е. вместо include_once '1.php' вставить соотв. кусок php кода, все работает и под PHP5, даже если 2.php тоже заэнкодить.

Есть идеи как с этим нехорошим Zend-ом бороться?
 

benadin

Guest
Спасибо администратору, за то, что перенес вопрос в ветку "для новичков" - может кто-то все же знает ответ на этот "глупый" и "очевидный" вопрос, не заслуживающий внимания профи?
 

benadin

Guest
Автор оригинала: tony2001
версии ZE & ZO - последние?
какой PHP?
ZO - последний, PHP Version 5.0.3
ZE 2.0.1 - но на сайте Zend-а вроде про это ничего не написано. Под PHP4 эти же заэнкоженные файлы работают отлично.

-~{}~ 19.01.05 18:13:

Автор оригинала: tony2001
к делу перейди, профи.
Сорри, писал в гневе :) - обнаружив свой пост без ответа в другой ветке. В это время видимо твой пост и пришел. (См. ниже)
 

Astral Man

We Will Rock You
benadin
ZE 3.6 поддерживает PHP5.
Может из-за того что 2.0.1 не знает о существовании PHP5 и кодит его как PHP4.
 

tony2001

TeaM PHPClub
>ZE 2.0.1 - но на сайте Zend-а вроде про это ничего не написано.
а что должно быть написано?

>Под PHP4 эти же заэнкоженные файлы работают отлично.
PHP4 и PHP5 отличаются не только цифрой в названии.
 

benadin

Guest
Автор оригинала: Astral Man
benadin
ZE 3.6 поддерживает PHP5.
Может из-за того что 2.0.1 не знает о существовании PHP5 и кодит его как PHP4.
К сожалению возможности проверить на ZE 3.6 у меня нет. Если есть минутка - попробуй пожалуйста приведенный выше пример.

-~{}~ 19.01.05 18:35:

Автор оригинала: tony2001
>ZE 2.0.1 - но на сайте Zend-а вроде про это ничего не написано.
а что должно быть написано?

>Под PHP4 эти же заэнкоженные файлы работают отлично.
PHP4 и PHP5 отличаются не только цифрой в названии.
Речь идет не столько о PHP5, а как раз о ZE и ZO вместе с PHP5. Если бы эти продукты и суппорт Zend-а не ругали на этом форуме - возможно и этой темы не было бы.

Народ, если кто может проверить работоспособность примера под ZE последней версии и PHP5, подсобите пожалуйста.
 

tony2001

TeaM PHPClub
>Речь идет не столько о PHP5, а как раз о ZE и ZO вместе с PHP5.
речь, насколько я понял, идет о том, что очень старая версия ZE не работает с новым PHP5.
чего и следовало ожидать.

>Если бы эти продукты и суппорт Zend-а не ругали на этом форуме - возможно и этой
>темы не было бы.
не припомню, чтобы кто-то ругал.
 

benadin

Guest
Автор оригинала: tony2001
>Речь идет не столько о PHP5, а как раз о ZE и ZO вместе с PHP5.
речь, насколько я понял, идет о том, что очень старая версия ZE не работает с новым PHP5.
чего и следовало ожидать.
Не работает именно при использовании include и переопределении метода в дочернем классе! Отдельно include и переопределение работают - т.е. если оба файла будут в одном - скрипт encoded by ZE 2 работает нормально и с PHP5. Отсюда подозрения на то, что апгрейд до новой версии ZE может не помочь в решении проблемы.

>Если бы эти продукты и суппорт Zend-а не ругали на этом форуме - возможно и этой
>темы не было бы.
не припомню, чтобы кто-то ругал.
Далее идем в поиск на http://phpclub.ru/talk/ и находим
http://phpclub.ru/talk/showthread.php?threadid=16822
Народ ругает работу с инклюдами.

Далее - описание проблемы - см. собственно сабж. Сталкивался ли кто-либо с подобной проблемой, и поможет ли апгрейд до ZE последней версии?
 

si

Administrator
с Zend Encoder Unlimited v3.6.0 все работает нормально

-~{}~ 19.01.05 18:27:

Далее идем в поиск на http://phpclub.ru/talk/ и находим
http://phpclub.ru/talk/showthread.php?threadid=16822
Народ ругает работу с инклюдами.
3 года уже прошло с того времени, много изменилось ...
 

benadin

Guest
Автор оригинала: si
с Zend Encoder Unlimited v3.6.0 все работает нормально
Спасибо! :)

-~{}~ 15.03.05 19:22:

Ответ оказался прост: в Zend Encoder (SafeGuard Suite) 3.6.0 есть специальная опция "Use PHP 5 Encoder". Теперь и в моем Zend Encoder-е.
 
Сверху