Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2012, 09h40   #1
Membre du Club
 
Architecte de système d'information
Inscription : mai 2002
Messages : 94
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : mai 2002
Messages : 94
Points : 56
Points : 56
Envoyer un message via MSN à bouba
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 :
Citation:
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 :
Citation:
[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
bouba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 10h36   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
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)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 11h14   #3
Membre du Club
 
Architecte de système d'information
Inscription : mai 2002
Messages : 94
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : mai 2002
Messages : 94
Points : 56
Points : 56
Envoyer un message via MSN à bouba
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 :
Citation:
[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 :

Citation:
phar.readonly = On
par :

Citation:
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 :
Citation:
$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 :
Citation:
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
bouba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 13h22   #4
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
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 :
AddHandler application/x-httpd-php .phar
dans ton http.conf
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/01/2012, 13h35   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
oui le phar c'est classe, un autre truc sympa c'est la classe PharData, qui permet de faire des archives tar
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 13h55   #6
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
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
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 18h14   #7
Membre du Club
 
Architecte de système d'information
Inscription : mai 2002
Messages : 94
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : mai 2002
Messages : 94
Points : 56
Points : 56
Envoyer un message via MSN à bouba
Ah c'est beau !

Merci beaucoup Thes32 ça fonctionne nickel maintenant
bouba est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h36.


 
 
 
 
Partenaires

Hébergement Web