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 :

Utilisation d'une Web Phar


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Par défaut Utilisation d'une Web Phar
    Bonjour,

    Je suis en train d'essayer de faire fonctionner une archive PHP Web Phar en utilisant WAMP (donc sous windows).

    Pour faire le plus simple possible j'ai simplement recopié l'exemple présent sur la page suivante (documentation PHP officielle) http://www.php.net/manual/en/phar.webphar.php.

    J'obtiens bien un fichier 'myphar.phar' que je copie dans mon répertoire de déploiement 'C:/wamp/www'.

    Maintenant je tente d'accéder à ma page d'index via les URLs :
    http://localhost/myphar.phar
    http://localhost/myphar.phar/index.php

    Mais j'obtiens le message d'erreur suivant :
    Forbidden

    You don't have permission to access /myphar.phar on this server.
    En regardant dans les logs d'Apache j'obtiens un autre message d'erreur :
    [Wed Jan 18 09:19:20 2012] [error] [client ::1] client denied by server configuration: C:/wamp/www/myphar.phar
    Est-ce que quelqu'un connaît la procédure à suivre pour faire fonctionner ce PHAR simplissime dans Apache ?

    Merci,

    Baptiste

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ah ben tiens, je viens de découvrir quelque chose ! ça l'air chouette comme système
    Question quasi-rituelle pour ce genre de problème : quelle version de PHP et as-tu activé l'extension dans php.ini ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre confirmé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 94
    Par défaut
    Salut et merci pour cette première réponse très rapide

    J'utilise la dernière version de WAMP qui intègre Apache 2.2.21 et PHP 5.3.8.

    Comme indiqué dans la documentation PHP (http://www.php.net/manual/en/phar.installation.php) l'extension PHAR est intégré dans PHP depuis la version 5.3.

    Si je tappe la commande 'php -m' dans une console j'obtiens bien ceci :
    [PHP Modules]
    bcmath
    calendar
    com_dotnet
    Core
    ctype
    date
    dom
    ereg
    filter
    ftp
    gd
    hash
    iconv
    json
    libxml
    mbstring
    mcrypt
    mhash
    mysql
    mysqli
    mysqlnd
    odbc
    pcre
    PDO
    pdo_mysql
    pdo_sqlite
    Phar
    Reflection
    session
    SimpleXML
    SPL
    standard
    tokenizer
    wddx
    xdebug
    xml
    xmlreader
    xmlwriter
    zip
    zlib

    [Zend Modules]
    Xdebug
    Donc l'extension PHAR semble bien être intégrée et activée dans ma version de PHP. Dans mon 'php.ini' j'ai remplacé la ligne :

    phar.readonly = On
    par :

    phar.readonly = Off
    Afin de pouvoir générer mon fichier 'myphar.phar' (ces modifications ne sont faites que pour environnement de développement).

    J'ai testé que l'extension PHAR fonctionne bien en effectuant ceci :
    $phar = new Phar('myphar.phar', 0, 'myphar.phar');
    $phar['index.php'] = '<?php echo "Hello World"; ?>';
    $phar['index.phps'] = '<?php echo "Hello World"; ?>';
    $phar->setStub('<?php
    Phar::mapPhar();
    include "phar://myphar.phar/index.php";
    __HALT_COMPILER(); ?>');
    Puis :
    D:\dev_tools\workspace\maven-phar-plugin>php myphar.phar
    Hello World
    L'extension PHAR semble donc bien fonctionner sauf pour les Web PHAR.

    Merci,

    Baptiste

  4. #4
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,

    tu dois dire à ton serveur de faire appel à PHP quand il s'agit des fichiers .phar.

    En pratique avec Apache tu dois ajouter la ligne
    Code ini : Sélectionner tout - Visualiser dans une fenêtre à part
    AddHandler application/x-httpd-php .phar
    dans ton http.conf

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    oui le phar c'est classe, un autre truc sympa c'est la classe PharData, qui permet de faire des archives tar

  6. #6
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    oui le phar c'est classe, un autre truc sympa c'est la classe PharData, qui permet de faire des archives tar
    +10, Au moins ça m'évites les appels système à tar

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] Quelles solutions utiliser pour une web application
    Par ouiouioui dans le forum Lazarus
    Réponses: 1
    Dernier message: 18/06/2015, 23h50
  2. [C#] utilisation dans une application web?!
    Par Zouko dans le forum Services Web
    Réponses: 1
    Dernier message: 15/04/2008, 12h33
  3. Réponses: 1
    Dernier message: 25/12/2007, 21h22
  4. Réponses: 3
    Dernier message: 04/07/2007, 21h05
  5. Utiliser un service web dans une page ASP
    Par REMACC1 dans le forum ASP
    Réponses: 2
    Dernier message: 30/08/2006, 11h17

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