Article complet: ByteKit, ou comment prendre connaissance de l'OPCode PHP

09/07/2009

Permalink 16:32:15, Catégories: php, 180 mots   French (FR) , julien pauli

ByteKit, ou comment prendre connaissance de l'OPCode PHP

J'ai déja blogué sur VLD, une extension PHP permettant de prendre connaissance de l'OPCode généré après la phase de compilation du ZendEngine, et prêt à être éxecuté.

Aujourd'hui, je vous présente bytekit et son frontEnd bytekit-cli.

Bytkit rajoute 3 fonctions à PHP : bytekit_disassemble_file(), bytekit_get_baseaddress(), bytekit_set_baseaddress() ; qui permettent de dumper l'OPCode dans une variable PHP.
Bytekit-cli est un frontEnd qui pilote l'extension bytekit et permet d'afficher l'OPCode d'un fichier PHP à l'écran, instantanément, génial pour débugguer ses extensions, optimiser ses scripts, ou apprendre simplement le ZendEngine ;-)

Exemple :

julien@julien:~$ php bytekit.php /path/to/some/php/file.php 
bytekit-cli @package_version@ by Sebastian Bergmann.

Filename:           /path/to/some/php/file.php
Function:           main
Number of oplines:  25
Compiled variables: !0 = $c, !1 = $r

  line  #     opcode                           result  operands
  -----------------------------------------------------------------------------
  3     0     REQUIRE                                  'Zend/Http/Client.php'

  5     1     FETCH_CLASS                      ~1      'Zend_Http_Client', f(4)

        2     NEW                              $2      ~1, ->5

        3     SEND_VAL                                 'http://127.0.0.1/300', 1

        4     DO_FCALL_BY_NAME                         

        5     ASSIGN                                   !0, $2

  6     6     INIT_METHOD_CALL                         !0, 'setHeaders'

        7     SEND_VAL                                 'Range: bytes=1-3, 4-6', 1
etc...

La liste des OPCodes du ZendEngine
Extension byteKit
byteKit-cli

Social Bookmarking:

                                     

Commentaires:

Connectez-vous pour vous abonner à cet article:

Flux de commentaires pour cet article : Atom 1.0  RSS 2.0

Cet article n'a pas de Commentaires pour le moment...

Vous devez être identifié pour poster un commentaire.

Liste des blogs

Julien Pauli DevPHP blog

Developpement web PHP

Rechercher

<  Mai 2012  >
Lun Mar Mer Jeu Ven Sam Dim
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web