Rapide Advanced Adulte
   apd   
Resultatsapd   |   Contact

     Manuel PHP     

 

Table :

.Fonctions .NET
.Fonctions Apache
.Alternative PHP Cache
.Débogueur avancé pour PHP
.Tableaux
.Aspell (Obsolète)
.Nombres de grande taille BCMath
.Compilateur bytecode pour PHP
.Compression Bzip2
.Calendrier
.Paiement CCVS (Obsolète)
.Classes et Objets
.Fonctions Classkit
.Fonctions ClibPDF
.COM et .Net (Windows)
.Crack
.Caractères
.CURL
.Paiement Cybercash
.Fonctions Crédit Mutuel CyberMUT
.Cyrus IMAP
.Dates et heures
.Fonctions DB++
.DBA
.dBase
.DBM (Obsolète)
.Fonctions dbx
.Direct IO
.Accès aux dossiers
.Fonctions DOM
.Fonctions DOM XML
.Fonctions enchant
.Gestion des erreurs
.EXIF
.Fonctions Expect
.Fonctions de monitorage d'altération de fichiers
.Forms Data Format
.Fonctions Fileinfo
.Fonctions filePro
.Système de fichiers
.Fonctions Filter
.Fonctions Firebird/InterBase
.Fonctions Firebird/Interbase (PDO FIREBIRD)
.Fonctions FriBiDi
.FrontBase
.Fonctions FTP
.Fonctions
.Fonctions GeoIP
.Gettext (GNU)
.Fonctions GMP
.gnupg Fonctions
.Net Gopher
.Fonctions hash
.HTTP
.Hyperwave
.Hyperwave API
.Fonctions IBM (PDO IBM)
.Fonctions IBM DB2, Cloudscape et Apache Derby
.ICAP
.Iconv
.Fonctions ID3
.Fonctions d'administration d'IIS
.Images
.Image magick Functions
.IMAP
.Informix
.Fonctions Informix (PDO INFORMIX)
.Ingres II
.IRC
.Intégration de Java avec PHP
.Fonctions JSON
.KADM5
.LDAP
.libxml
.Lotus Notes
.Fonctions LZF
.Mail
.Traitement d'email
.Mathématiques
.MaxDB PHP Extension
.MCAL
.chiffrement mcrypt
.Fonctions de paiement MCVE (Monetra)
.Fonctions Memcache
.Hash
.Fonctions Mimetype
.Ming pour Flash
.Fonctions diverses
.mnoGoSearch
.Microsoft SQL Server
.Microsoft SQL Server et Fonctions Sybase (PDO DBLIB)
.Sessions Mohawk
.mSQL
.Chaînes de caractères multi-octets
.Fonctions muscat
.MySQL
.Fonctions MySQL (PDO MYSQL)
.Extension MySQL améliorée
.Fonctions de contrôle d'écran de terminal
.Réseau
.Fonctions Newt
.Netscape Server API
.agrégation d'objets/Composition de fonctions
.Overload
.Fonctions Oracle
.Fonctions ODBC (unifiés)
.Fonctions ODBC et DB2 (PDO ODBC)
.oggvorbis
.Gestion Audio OpenAL
.OpenSSL
.Oracle (Obsolète)
.Fonctions Oracle (PDO OCI)
.Bufferisation de sortie
.Ovrimos SQL
.Accès aux fichiers Paradox
.Fonctions Parsekit
.Contrôle des processus
.Expressions rationnelles compatibles Perl
.Fonctions PDF
.Fonctions PDO
.Phar archive stream and classes
.Options PHP et informations
.Fonctions POSIX
.Expressions rationnelles
.PostgreSQL
.Fonctions PostgreSQL (PDO PGSQL)
.Impression
.Exécution de programmes externes
.Création de document PostScript
.Pspell
.qtdom
.Radius
.Rar
.Readline (GNU)
.Recode (GNU)
.Fonctions Lecture d'En-tête RPM
.Fonctions runkit
.SAM - Messagerie asynchrone
.Extension client Satellite CORBA (Obsolète)
.SCA Functions
.Fonctions SDO
.Fonctions de Service d'Accès de Données SDO XML
.Fonctions SDO Relationnel Service d'Accès de Données
.Sémaphores et gestion de la mémoire partagée
.SESAM
.Sauvegarde d'Identifiant de session PostgreSQL
.Sessions
.Mémoire partagée
.Fonctions SimpleXML
.Fonctions SNMP
.Fonctions SOAP
.Sockets
.Fonctions Standard PHP Library (SPL)
.Fonctions SQLite
.Fonctions SQLite (PDO SQLITE)
.Shell2 sécurisé
.Fonctions statistics
.Flux
.Chaînes de caractères (Strings)
.Shockwave Flash
.Sybase
.Fonctions TCP Wrappers
.Tidy
.Analyseur de code PHP
.Unicode Functions
.URL
.Fonctions de gestion des variables
.Paiement par Verisign
.vpopmail
.API windows
.WDDX
.Fonctions win32ps
.Fonctions win32service
.Fonctions xattr
.Fonctions xdiff
.Analyseur syntaxique XML
.XML-RPC
.XMLReader functions
.Fonctions XMLWriter
.XSL
.XSLT
.YAZ
.NIS
.Fonctions ZIP
.Compression Zlib
 
   

  apd  


IV. Débogueur avancé pour PHP

Introduction

APD est un débogueur avancé pour PHP (Advanced PHP Debugger). Il a été écrit pour fournir des capacités de profilage et de déboguage du code PHP tout comme la possibilité d'afficher un retour de trace de la pile. APD supporte le débogage interactif, mais, par défaut, il écrit les données dans des fichiers de trace. APD fournit également la notation basée par événement, de sorte que les niveaux d'information (incluant les appels de fonctions, le passage d'arguments, le délai d'exécution, etc.) peuvent être activés ou non pour chaque script.

Attention

APD est une extension Zend, qui modifie la façon interne de gestion des appels de fonctions PHP et peut ou ne pas être compatible avec d'autres extensions Zend (par exemple avec le Zend Optimizer).

Installation

APD est actuellement disponible en tant qu'extension PECL depuis http://pecl.php.net/package/apd. Assurez-vous d'avoir installé la version CGI de PHP et qu'elle soit disponible dans votre PATH courant tout au long de votre script PHP.

Exécutez la commande suivante pour télécharger, construire et installer la dernière version stable d'APD :
pear install apd

Ceci installera automatiquement le module APD Zend dans votre dossier d'extensions de PHP. Il n'est pas obligatoire de le conserver à cet endroit ; vous pouvez stocker le module dans n'importe quel dossier que PHP peut lire, à partir du moment où vous paramétrez correctement le paramètre zend_extension.

Les utilisateurs de Windows peuvent télécharger la bibliothèque dll php_apd.dll depuis http://snaps.php.net/win32/PECL_STABLE/.

Dans votre fichier INI, ajoutez les lignes suivantes :

zend_extension = /chemin/absolu/vers/apd.so
apd.dumpdir = /chemin/absolu/vers/dossier/trace
apd.statement_tracing = 0

En fonction de votre installation de PHP, le dossier zend_extension peut être l'un de la liste suivante :

zend_extension              (non ZTS, non debug build)
zend_extension_ts           (    ZTS, non debug build)
zend_extension_debug        (non ZTS,     debug build)
zend_extension_debug_ts     (    ZTS,     debug build)

Compilation sous un environnement Win32

Pour compiler APD sous Windows, vous avez besoin d'un environnement de compilation PHP comme décrit sur http://php.net/ -- simplement, cela nécessite que vous possédiez Microsoft Visual C++, win32build.zip, bison/flex certains savent comment les récupérer et les faire fonctionner. Assurez-vous également que adp.dsp a bien des fins de lignes façon DOS ; si les fins de lignes sont du style Unix, Microsoft Visual C++ vous le fera remarquer.

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Tableau 1. APD Configuration Options

NomPar défautModifiableHistorique
apd.dumpdirNULLPHP_INI_ALL 
apd.statement-tracing"0"PHP_INI_ALL 
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Annexe G.

Voici un éclaircissement sur l'utilisation des directives de configuration.

apd.dumpdir chaîne de caractères

Spécifie le dossier dans lequel APD écrit les fichiers de profilage. Vous pouvez spécifier un chemin absolu ou relatif.

Vous pouvez spécifier un dossier différent comme argument de apd_set_pprof_trace().

apd.statement_tracing boolean

Active ou désactive les traces à la ligne. En activant cette option (valeur de 1), l'application sera considérablement ralentie.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Tableau 2. Constantes APD

ConstanteValeurDescription
FUNCTION_TRACE (entier) 1 
ARGS_TRACE (entier) 2 
ASSIGNMENT_TRACE (entier) 4 
STATEMENT_TRACE (entier) 8 
MEMORY_TRACE (entier) 16 
TIMING_TRACE (entier) 32 
SUMMARY_TRACE (entier) 64 
ERROR_TRACE (entier) 128 
PROF_TRACE (entier) 256 
APD_VERSION (string) exemple : 1.0.2-dev 

Comment utiliser APD dans vos scripts ?

  1. À la première ligne de vos scripts PHP, appelez la fonction apd_pprof_trace() pour commencer la trace :

    apd_set_pprof_trace();

    Vous pouvez ajouter cette ligne n'importe où dans votre script, mais si vous ne commencez pas à tracer au début de votre script, vous désactivez les données de profil qui pourraient autrement vous mener à un goulot d'étranglement d'exécution.

  2. Maintenant, exécutez votre script. Le contenu de la sortie devrait être écrit dans le fichier apd.dumpdir/pprof_pid.ext.

    Astuce : Si vous utilisez la version CGI de PHP, vous devez ajouter le flag '-e' pour activer les informations étendues afin que apd fonctionne correctement. Par exemple : php -e -f script.php

  3. Pour afficher les données de profil formatées, exécutez la commande pprofp avec les options de tri et d'affichage de votre choix. L'affichage formaté pourra ressembler à cela :
    bash-2.05b$ pprofp -R /tmp/pprof.22141.0
    
    Trace for /home/dan/testapd.php
    Total Elapsed Time = 0.00
    Total System Time  = 0.00
    Total User Time    = 0.00
    
    
    Real         User        System             secs/    cumm
    %Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
    --------------------------------------------------------------------------------------
    100.0 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0000   0.0009            0 main
    56.9 0.00 0.00  0.00 0.00  0.00 0.00     1  0.0005   0.0005            0 apd_set_pprof_trace
    28.0 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 preg_replace
    14.3 0.00 0.00  0.00 0.00  0.00 0.00    10  0.0000   0.0000            0 str_replace

    L'option -R utilisée dans cet exemple trie la table de profil par la durée réelle qu'une fonction donnée coûte au script. La colonne "cumm call" révèle le nombre d'appels de chaque fonction et la colonne "s/call", le nombre de secondes que chaque appel à la fonction nécessite, en moyenne.

  4. Pour générer un fichier d'appel sous forme d'arbre que vous pourrez importer dans l'application KCacheGrind (application d'analyse de profile), exécutez la commande pprof2calltree.

Informations de contact

Si vous avez des commentaires, des corrections de bogues ou si vous voulez développer des améliorations pour cette extension, vous pouvez envoyer un email à apd@mail.communityconnect.com. Toute aide est vraiment la bienvenue.

Table des matières
apd_breakpoint -- Stoppe l'interpréteur et attend un CR depuis la socket
apd_callstack -- Retourne la pile d'appel courante dans un tableau
apd_clunk -- Lance une alerte et un callstack
apd_continue -- Redémarre l'interpréteur
apd_croak -- Lance une erreur, un callstack et sort
apd_dump_function_table -- Affiche la table courante de fonction
apd_dump_persistent_resources -- Retourne toutes les ressources persistantes dans un tableau
apd_dump_regular_resources -- Retourne toutes les ressources régulières courantes dans un tableau
apd_echo -- Ecrit dans la socket de débogage
apd_get_active_symbols -- Récupère un tableau contenant les noms de variables courantes de portées locales
apd_set_pprof_trace -- Démarre la session de débogage APD
apd_set_session_trace -- Démarre la session de débogage
apd_set_session -- Modifie ou définit le degré de débogage courant
apd_set_socket_session_trace -- Démarre la session de débogage à distance
override_function -- Dépasse les fonctions intégrées
rename_function -- Renomme une fonction intégrée dans la table des fonctions globales

    Annonces       
 

 Retour au chapitre Php

 

Top
 

Ajouter JungleKey.fr à votre Explorateur

 
 

About Us | © 2007 JungleKey




iBlack | Mobile | Wiki | Ajouter
.