En voulant me servir de la fonction PHP getimagesize('http://un_serveur/une_image.jpg')
, je suis tombé sur une erreur après la mise en ligne du code sur un hébergement mutualisé de 1and1 :
Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration
L’erreur vient tout simplement du fait que, par défaut, dans la version 5 de PHP, la variable allow_url_fopen
du php.ini est à false
. Cette option active les versions étendues des fonctions d’accès aux fichiers, qui savent exploiter les URL.
Je me suis dit dans un premier temps que j’allais devoir basculer le site sur un serveur dédié mais, après quelques recherches, j’ai découvert que 1and1 autorise la modifications des valeurs du php.ini, même sur un hébergement mutualisé.
Pour ce faire, rien de plus simple ! Il suffit de créer un fichier php.ini avec les couples variables / valeurs souhaités et de le placer dans l’ensemble des répertoires contenant des scripts PHP sur le serveur.
Exemple de fichier php.ini :
upload_max_filesize = 10M
post_max_size = 10M
En ce qui nous concerne, il faut créer le fichier suivant :
allow_url_fopen = 1
Si vous travaillez sur un projet symfony, il suffit de mettre le php.ini à la racine du dossier web, puisque toutes les actions s’exécutent à partir du contrôleur frontal.
Si vous n’êtes pas chez 1and1, vérifiez si votre hébergeur vous propose la personnalisation du php.ini. De plus en plus le font afin de laisser un peu de souplesse aux développeurs. Et on ne va pas s’en plaindre…
Bonjour Olivier,
« j’ai découvert que 1and1 autorise la modifications des valeurs du php.ini, même sur un hébergement mutualisé »…
Et bien je dois dire que c’est une sacrée découverte ! et merci beaucoup d’en faire profiter les autres. Sympa.
@Renaud
Content que cet article t’ait été utile. Merci pour ton commentaire.
bonjour
en surfant j’ai trouvé le même message pour lequel vous donniez des explications en 2010 aujourd’hui après avoir installé mon site wordpress sur 1and 1 j’ai le même pb pourtant une parie de la galerie est visible mais quand on clique sur la photo ce qui doit soit agrandir et amener du texte le message apparaît alors que dans une sinstallation local avec wamp tout est ok. j’ai fait une installation minimale sur le serveur pour montrer ce qui se passe: aller dans le menu galerie et cliquer sur image ou sur détail et le message apparaît???? je ne parviens pas à le résoudre pourriez-vous me donner une aide.
merci de votre attention et de votre réponse
@mages
Bonjour,
Avez-vous justement créé le fichier php.ini dont je parle dans cet article ?
bonjour
j’ai effectivement installé le fichier php.ini dans la racine et dans les repertoires où il y a du php et rien n’y fait. pourriez-vous essayer de résoudre le problème et quelles sont vos conditions?
merci
sur les faq de 1and 1 il est indiqué que cette modification n’est possble que sur les erveurs linux or je suis sur un serveur windows et serveur partagé et non dédié.
http://faq.1and1.fr/scripts/php/11.html
merci
voilà aussi ce qu’on me propose mais je ne suis pas certain de comprendre
Contact your hosting support and ask to enable the “url fopen” php function and eventually ask if the GD library are available.
merci
@mages :
Bonjour,
Si la modification du PHP.ini n’est pas disponible sur les serveurs mutualisés Windows, vous êtes effectivement dans une impasse.
Je vous conseille tout de même de contacter directement 1and1 et de leur demander quelle solution ils vous proposent.
L’extension GD est à ma connaissance activée y compris sur les offres Windows.
En revanche, le allow_url_fopen est false par défaut ce qui explique l’erreur affichée dans votre page.
Ouf enfin pb résolu après avoir contact 1and1 il y avait un autre « bidouillage » à faire mais je ne saurai expliquer i a été fait directement par 1and1
merci beaucoup
@mages :
Super ! Bonne nouvelle.. Assez réactifs pour une fois chez 1and1.
Super astuce, merci a toi.
Merci pour ce post qui m’a bien aidé. Il est impressionnant qu’après deux ans rien n’ai changé.
Super, bon a savoir. je confirme ça fonctionne