IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment fonctionne la compilation à la volée ? de PHP


Sujet :

Langage PHP

  1. #1
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut Comment fonctionne la compilation à la volée ? de PHP
    Bonjour,

    Je souhaiterais vous demander comment fonctionne la compilation à la volée de PHP.

    Si je comprends bien au début, lorsqu'on charge une page ".php" :
    1. L'interpréteur PHP va lire le code (et vérifier s'il y a des erreurs dans le script).
    2. Créer un fichier temporaire (du ".php") en RAM avec les instructions assembleurs -> "bytecode" ou "opcode".
    3. Exécuter le code assembleur.
    4. Supprimer le fichier temporaire de la RAM.

    Et ce cycle se répète à chaque fois qu'on charge une page PHP, sauf si on a installé APC ou OPcache.



    Avec un système OPcache, Passage 1 :
    1. L'interpréteur PHP va lire le code (et vérifier s'il y a des erreurs dans le script).
    2. Créer un fichier temporaire (du ".php") en RAM avec les instructions assembleurs -> "bytecode" ou "opcode".
    3. Exécuter le code assembleur.
    4. Garder le fichier temporaire en RAM.

    Passage 2 : Exécuter le code assembleur.


    N'hésitez pas à me rectifier concernant les étapes et leur contenu, ou à apporter des précisions supplémentaires.

    Merci
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    C'est cela, oui, à des questions de vocabulaires près (opcache tout simplement, au lieu de assembleur ou bytecode (qui est du Java).

    Note qu'avec OpCache, on peut également juste générer les opcodes et les stocker en cache sans les exécuter immédiatement.

  3. #3
    Invité de passage
    Femme Profil pro
    thalasso
    Inscrit en
    Octobre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : thalasso
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1
    Par défaut
    à noter :
    php (sans cache de compilation) est désormais quasi aussi rapide que java (qui utilise du cache en natif) : j'ai fait le test sur des écritures massives de fichiers en boucle...

    Pour ma part, je préfère me "battre" pour faire du cache de requête SQL par exemple, plutôt que m'embeter avec du cache php

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    opcache est livré par défaut dans 5.5, inutile de s'n priver, on peut faire les deux (voire plus) :-)

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/03/2005, 15h29
  2. Comment fonctionne TXmlDocumment ????
    Par almisuifre dans le forum C++Builder
    Réponses: 8
    Dernier message: 18/02/2005, 13h54
  3. comment fonctionne une interface graphique???
    Par elekis dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/10/2004, 00h10
  4. Comment fonctionne le ClassExplorer ?
    Par borisd dans le forum C++Builder
    Réponses: 7
    Dernier message: 30/09/2004, 18h44
  5. Comment fonctionne le CVS ?
    Par mathieu dans le forum CVS
    Réponses: 6
    Dernier message: 23/03/2004, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo