2011-11-10 1 views

Répondre

0

La seule façon qui a fonctionné pour moi était d'inclure le fichier php 5.2 au lieu du message Zend Guards qui est affiché quand aucun chargeur Zend Guard trouvé avec si la condition de vérification de la version de php. Sale, mais fonctionnant, encore 2 fichiers doivent encore être présents, mais pas besoin d'avoir le chargeur les commutant dans le code non protégé.

0

Je ne pense pas ... Je suis également bloqué avec l'utilisation de PHP 5.2 à cause de cela. Si vous voulez exécuter des scripts 5.2 encodés en zend avec "Zend Guard Loader", vous devrez débourser plus d'argent et acheter la nouvelle version pour encoder les scripts encore une fois ... triste.

+0

En fait, je n'ai pas besoin de dépenser plus d'argent, puisque Zend Guard inclut les deux encodeurs, et même si je devais le faire - l'argent n'est pas un problème. Le problème est que je dois maintenir deux versions de fichiers codés pour PHP 5.2 et 5.3, au lieu d'en avoir une seule qui fonctionnera à la fois sous Zend Guard Loader et Zend Optimizer. –

+0

Pas moyen de contourner cela. Cos les 2 produits sont 100% non compatibles. – iWantSimpleLife

+0

Peut-être que vous pouvez rouler votre propre encodage en utilisant l'extension bccompiler? (Voir http://php.net/manual/fr/book.bcompiler.php) ( – iWantSimpleLife

0

Pour répondre au contexte Encodage vs. Runtime dans Zend Guard/Optimizer/Loader - ils devraient correspondre parfaitement. La réponse acceptée est incorrecte - il n'y a pas de réglage pour exécuter les fichiers encodés en PHP 5.3 dans l'Optimizer chargé en PHP 5.2.

La maintenance de 2 versions cibles est très simple si vous effectuez un script/lot de votre processus d'encodage lorsque vous avez des mises à jour de code. Vous exécutez simplement votre encodage source une fois avec zendenc52 puis avec zendenc53, en leur donnant différents répertoires cibles.

Plus à ce sujet. Le code PHP 5.3 est différent de 5.2, et vous devriez avoir 2 branches différentes pour vos sources correspondant à ces versions. Old News: http://php.net/manual/en/migration53.php

Lors du test/de la mise en scène d'une application codée Zend Guard, assurez-vous de tester la version codée (et de déboguer les sources ouvertes, bien sûr, si nécessaire). La raison en est simple: les fichiers encodés ont une surcharge de tables de données qui gère l'obfuscation, et pourrait changer la fonctionnalité PHP avec une syntaxe PHP avancée. Si un problème est détecté dans les fichiers codés pendant le test, il est facile de localiser et de corriger la source. Si vous testez uniquement la version source, puis que vous l'encodez et que vous la déployez sur vos clients, le résultat est imprévisible. En ce qui concerne le déploiement, lorsque vous installez/untar/git/svn déployez vos fichiers PHP, vous pouvez coller la version cible de PHP à vos releases/downloads/push de code, afin qu'ils s'installent dans la bonne version, ou déploient 2. versions dans différents emplacements racine de document, et vous pouvez symlink/rewrite à la version de l'application Guarded correcte correspondant à la version cible PHP 5.2 ou 5.3.

Enfin et surtout. Le runtime supporté par Zend Guard est Zend Server. Il a une édition communautaire et n'importe qui peut l'installer gratuitement (ou acheter des composants sous licence si nécessaire) et sur les systèmes d'exploitation pris en charge, via des gestionnaires de paquets natifs pour DEB/RPM ou un fichier d'installation (Windows, Mac, Autres Linux non pris en charge gestionnaires de paquets natifs). Le composant Loader optionnel de Zend Server gérera les fichiers d'application encodés, et il est livré avec des branches PHP 5.2 et 5.3, il n'est donc pas nécessaire d'installer manuellement Zend Optimizer ou Loader sur votre PHP. La mise à niveau de PHP 5.2 à 5.3 est simple et native lorsque les applications (codées et open source) ont été correctement migrées.

Espérons que cela aide.

+1

Vos recommandations gagnées Ne correspond pas à mon schéma de distribution de script, où je n'ai pas de contrôle sur l'environnement du serveur où mon script est installé. Et il y a un tweak, qui nécessite encore quelques modifications de binaires Zendenc, qui permet d'avoir un seul fichier pour les deux versions de zg loader, mais très instable. P.S. Il semble que le seul moyen est d'espérer que les serveurs vont bientôt remplacer 5.2 par 5.3 (avec une version stable récente de 5.4) –