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 :

à quoi sert php.ini ? les extensions ?


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut à quoi sert php.ini ? les extensions ?
    Bonjour,
    je suis débutant en Web.
    Je suis un guide d'installation d'un produit open source ( la partie Web d'une solution d'analyse de logs ) qui date de 2006/2007. Le guide me demande :

    Also check in '/etc/php4/apache/php.ini' and '/etc/php4/cgi/php.ini' files that the following lines are in:
    extension=gd.so
    extension=mysql.so
    extension=pgsql.so
    extension=domxml.so
    extension=xslt.so

    -- J'aimerais savoir à quoi sert php.ini
    -- à quoi servent ces extensions ?

    En fait, j'ai installé apache 2 et php5 et donc ma démarche sera ( légèrement ? ) différente. Dans mon fichier php.ini qui se trouve dans /etc/php5/apache2/ les lignes correspondantes à ce que le guide me demande sont les suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    ;;;;;;;;;;;;;;;;;;;;;;
    ; Dynamic Extensions ;
    ;;;;;;;;;;;;;;;;;;;;;;
    ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ;
    ;   extension=modulename.extension
    ;
    ; For example, on Windows:
    ;
    ;   extension=msql.dll
    ;
    ; ... or under UNIX:
    ;
    ;   extension=msql.so
    ;
    ; Note that it should be the name of the module only; no directory information
    ; needs to go here.  Specify the location of the extension with the
    ; extension_dir directive above

    Que dois-je faire alors ? ( la doc étant un peu obsolète, je ne sais pas quoi vérifier dans mon installation .... )

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le fichier php.ini contient des paramètres du serveur PHP.

    Les extensions activent des fonctions :
    gd : traitement d'images
    mysql : fonctions mysql_
    pgsql : fonctions postgresql

    xslt et dom xml sont par contre propres a PHP4 je suppose qu'elles sont remplacées respectivement pas xsl et dom.

    dans ton php.ini tu dois trouver une suite de lignes
    extension=quelquechose
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut
    les "extensions=quelquechose" dont tu parles sont au nombre de trois exactement dans le code ci-dessous (php.ini) à moins que tu parles d'un autre fichier. Il n'y a donc pas une suite d'extensions à par ceux-là... Est - ce normal ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce que tu nous montres, ce sont des commentaires.
    tu as peut etre un autre php.ini sinon voit avec ton hebergeur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut
    -- j'utilise apache2 et php5, je travaille en localhost
    -- un find / -name "php.ini" me donne :
    /etc/php5/cgi/php.ini
    /etc/php5/apache2/php.ini

    il n'y a pas toutes ces extensions là ...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Techniquement ca doit bien etre possible de n'avoir aucune extension.
    D'ou vient cette installation ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut
    -- En fait j'étudie le fonctionnement d'Ossim un logociel open source de collecte et d'analyse de logs. En ce moment je suis sur la partie Web. Une partie de la doc sur Ossim me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Also check in ’/etc/php4/apache/php.ini’ and ’/etc/php4/cgi/php.ini’ files that the following lines are in:
      extension=gd.so
      extension=mysql.so
      extension=pgsql.so
      extension=domxml.so
      extension=xslt.so
    -- ca veut dire que c'est moi alors qui dois ajouter ces extensions, selon mon besoin ?

    -- Est ce que j'ai besoin d'écrire ces extensions là, étant donné que j'ai php5 (si j'ai bien compris, j'ai besoin de ces cinq extensions). J'ai du voir quelque part que ce n'est pas nécessaire de préciser ces extensions avec php5 ... Est - ce vrai ?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ma question etait de savoir d'ou vient ton php ?

    tu peux regarder ce que te retourne le phpinfo(), tu verras si ces extensions sont déjà présentes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    En général, ces extensions figurent dans le fameux php.ini.

    Le fait de les décommenter (c'est à dire virer les points virgule de début de ligne) les rend actives pour PHP et permet donc au code PHP d'utiliser des fonctions propres à ces extensions.

    Si Php est chargé comme un module d'apache, il faut alors redémarrer Apache, mais je ne pense pas que cela soit ton cas.

    Normalement tu n'as rien d'autre à faire que de décommenter ces lignes dans le fichier php.ini.
    Sauf si les fichiers d'extensions n'existent pas sur ton installation php. Mais j'en doute, car j'ai cru comprendre par ailleurs que tu utilises une installation "classique" de type Wamp/Lamp/easyPhp.

    Si la doc de ton analyseur de logs préconise de les décommenter, c'est tout simplement que le code php de cet analyseur utilise des fonctions inhérentes à ces extensions.

    Si tu n'as pas accès au php.ini, tu peux écrire un code d'une ligne avec un phpinfo() et faire apparaitre ce qui est actif ou non directement dans une page web (en localhost de préférence..).

    Pour te montrer un exemple, un autre forumeur en a carrément mis un en ligne. Tu verras que dans son cas, GD est active. Bon clairement, c'est à éviter. (fais-le uniquement en localhost)

    Par exemple, la librairie GD est la libraire graphique de php.

    Pour utiliser les fonctions qui lui sont inhérentes, son extension doit être activée dans le php.ini.

    Dans le php.ini, tu auras donc à décommenter la ligne :
    et tu verras apparaitre GD comme un module sur la page de phpinfo.

Discussions similaires

  1. A quoi sert les " ! " en php
    Par biker63 dans le forum Langage
    Réponses: 7
    Dernier message: 16/04/2007, 18h49
  2. Réponses: 14
    Dernier message: 24/08/2006, 19h12
  3. Les extensions php fonctionnent t'elles toutes réellement? Je doute
    Par berceker united dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 11/07/2006, 10h17
  4. Réponses: 3
    Dernier message: 21/05/2006, 18h14
  5. A quoi ça sert d'utiliser les Data Modules?
    Par tipiweb dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/03/2006, 10h19

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