Warning: file_get_contents() [function.file-get-contents]:

Eléphanteau du PHP | 16 Messages

15 juin 2011, 15:09

Bonjour.

Sur un site que je n'ai pas créé, mais simplement installé chez mon hébergeur, 1and1 mutualisé, j'ai un message d'erreur qui apparait à la place de 2 modules dans lesquels doivent s'afficher les textes de 2 fichiers :
Warning: file_get_contents() [function.file-get-contents]:...

N'étant pas programmeur PHP, j'aimerais de l'aide pour éliminer ce bug.

Sur certains forums, j'ai lu qu'il fallait ajouter un fichier php.ini contenant "allow_url_fopen = On", et le dupliquer dans tous les dossiers du site.
C'est fait ... sans résultat.

Ce site semble avoir été crée sous le logiciel Freeway 4 Express, que je ne connais pas du tout.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8756 Messages

16 juin 2011, 19:50

salut,

sans le message d'erreur complet on ne peux pas t'aider.

le paramètre de configuration que tu indique d'après la doc
Note:

Cette option peut seulement être définie dans le php.ini pour des raisons de sécurité.
pour ce qui est des fichiers de conf perso ce n'est supporté que depuis les version 5.3 de php hors 1&1 est en 5.2.17 ;) (http://www.php.net/manual/fr/configurat ... r-user.php)

pour info le message t'indique certainement qu'un fichier est manquant, il te dit quel fichier manque et dans quel fichier il est appelé !

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 16 Messages

17 juin 2011, 18:10

Merci d'avoir répondu.

Le message complet :
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /homepages/25/d114077720/htdocs/monsite/index.php on line 364

Warning: file_get_contents(http://www.monsite.fr/galerie/gite1/desc_fr) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /homepages/25/d114077720/htdocs/monsite/index.php on line 364

+ un autre pour la ligne 385.
Lignes 363 à 367 :
	<td height=210 colspan=31 rowspan=5 bgcolor="#ffffff"><?php
$texte = file_get_contents("http://www.monsite.fr/galerie/gite1/desc_fr");
$texte=stripslashes($texte);
echo $texte;
?></td>
Lignes 384 à 388 :
	<td height=204 colspan=36 bgcolor="#ffffff"><?php
$texte = file_get_contents("http://www.monsite.fr/galerie/gite2/desc_fr");
$texte=stripslashes($texte);
echo $texte;
?></td>
Les fichiers desc_fr sont des fichiers texte html simples, sans terminaison (.txt ou .html par ex).

ça t'inspire ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8756 Messages

17 juin 2011, 18:29

ton problème est clair URL file-access is disabled tu ne peux pas faire ce que tu souhaite il va te falloir faire autrement (ftp, curl etc etc).


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 16 Messages

17 juin 2011, 18:36

il va te falloir faire autrement (ftp, curl etc etc).
=> ???

Ce site a fonctionné en serveur privé chez Netissime, et ne fonctionne plus en mutualisé 1and1.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8756 Messages

17 juin 2011, 19:04

c'est clair ce que j'ai mis ? l'hébergeur n'autorise pas l'utilisation de fichier distant, y a pas de débat.
soit l'hébergeur modifie ça conf soit tu fait autrement, soit tu retourne sur un dédié ;)


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 16 Messages

17 juin 2011, 19:29

J'ai quitté le serveur privé de Netissime, après y avoir perdu tous mes cheveux, et mon sens de l'humour.
D'une part à cause de mes connaissances limitées en technologie de serveur,(mais, "juré, il ne fallait pas être un spécialiste pour utiliser Plesk". Mon oeil) et d'autre part .... pour la même raison concernant la hot-line de l'hébergeur sus-nommé.

Chez 1and1 j'ai rarement des pb pour installer les sites Joomla que j'utilise exclusivement, mais le site qui coince n'est pas sous Joomla.

Il m'a été conseillé de placer un php.ini dans tous les dossiers avec la commande : allow_url_fopen = on

C'est fait => le bug est toujours là.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8756 Messages

17 juin 2011, 21:20

ben comme déjà dit les php.ini ça fonctionne qu'a partir de php 5.3 et 1and 1 c'est 5.2.17 (enfin moi c'est ce que j'ai chez eux ^^)

la doc http://www.php.net/manual/fr/configurat ... r-user.php

http://www.php.net/manual/fr/filesystem ... -url-fopen
Seuls les configurations INI avec les modes PHP_INI_PERDIR et PHP_INI_USER seront reconnues dans les fichiers INI .user.ini-style.
et comme la directive allow_url_fopen est de type PHP_INI_SYSTEM c'est modifiable que dans les php.ini ou le httpd.conf ^^

Donc tant qu'il y aura pas de php 5.3 ce n'est pas possible


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 16 Messages

17 juin 2011, 22:23

:cry: :cry:

Merci moogli.

Pourtant, y'en avait qui disaient que ça marchait.
lecoindunet [url]http://www.
lecoindunet.com/le-coin-du-developpeur/zone-php/astuces-php/activer-la-fonction-filegetcontent-sur-hebergement-1and1-mutualise-63?lastPage=yes#com_101[/url]
1AND1 http://faq.1and1.fr/scripts/php/11.html

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8756 Messages

18 juin 2011, 01:21

hum, d'après la faq et le test que je viens de faire effectivement cela fonctionne, c'est un comportement assez étonnant.

donc si tu a un fichier php.ini avec juste dedans
allow_url_fopen = On

cela doit fonctionner, sinon pose la question au service client


@+
Il en faut peu pour être heureux ......

ViPHP
ViPHP | 5462 Messages

18 juin 2011, 16:11

ben comme déjà dit les php.ini ça fonctionne qu'a partir de php 5.3 et 1and 1 c'est 5.2.17 (enfin moi c'est ce que j'ai chez eux ^^)

la doc http://www.php.net/manual/fr/configurat ... r-user.php

http://www.php.net/manual/fr/filesystem ... -url-fopen
Seuls les configurations INI avec les modes PHP_INI_PERDIR et PHP_INI_USER seront reconnues dans les fichiers INI .user.ini-style.
et comme la directive allow_url_fopen est de type PHP_INI_SYSTEM c'est modifiable que dans les php.ini ou le httpd.conf ^^

Donc tant qu'il y aura pas de php 5.3 ce n'est pas possible


@+
non c'est faux, deja les .user.ini, c'est uniquement en CGI et de plus il modifie que les PHP_INI_PERDIR et PHP_INI_USER
pourtant tout est expliqué dans le lien que t'as mis ...

Eléphanteau du PHP | 16 Messages

18 juin 2011, 16:22

Et donc, concrètement, il faut faire quoi, si le fichier php.ini ajouté à tous les répertoires avec "allow_url_fopen = On" ne règle pas le pb ?

Les infos du PHP manual ne donnent pas la solution .... à un non-programmeur.

ViPHP
ViPHP | 5462 Messages

18 juin 2011, 16:42

Et donc, concrètement, il faut faire quoi, si le fichier php.ini ajouté à tous les répertoires avec "allow_url_fopen = On" ne règle pas le pb ?

Les infos du PHP manual ne donnent pas la solution .... à un non-programmeur.
y'a pas de fichier php.ini a mettre dans tes dossiers
quelle est ta version de PHP ? et le SAPI utilisé (a voir dans ton phpinfo)

Eléphanteau du PHP | 16 Messages

18 juin 2011, 16:59

Le PHP infos de 1and1 mutualisé
http://1and1faq.fr/phpinfo/php.php5

ViPHP
ViPHP | 5462 Messages

18 juin 2011, 17:11

tu dois passer par ini_set pour le faire,
donc dans ton code avant file_get_contents fait :
ini_set('allow_url_fopen', true);