web-dev-qa-db-fra.com

Warning: require_once (): http: // wrapper est désactivé dans la configuration du serveur par allow_url_include = 0

J'essaie d'inclure un fichier php dans une page via

  require_once(http://localhost/web/a.php)

Je reçois une erreur 

 Warning: require_once(): http:// wrapper is disabled in the server configuration by   allow_url_include=0

J'ai changé allow_url_include=1 dans le fichier php.ini et cela a fonctionné, mais je ne pense pas que tout le monde me laissera changer le fichier php.ini.

Alors, y a-t-il un moyen d'accomplir cela?

39
Gags

L'avertissement est généré car vous utilisez une URL complète pour le fichier que vous incluez. Ce n'est pas la bonne façon, car de cette façon, vous obtiendrez du code HTML à partir du serveur Web. Utilisation:

require_once('../web/a.php');

de sorte que le serveur Web puisse EXECUTER le script et fournir sa sortie, au lieu de simplement servir le code source (votre cas actuel menant à l'avertissement).

53
Nadeem Khan

J'ai eu la même erreur en essayant d'inclure un fichier PHP dans mon thème Wordpress. J'ai pu contourner le problème en référençant le nom du fichier à l'aide de dirname(__FILE__). Je ne pouvais pas utiliser de chemins relatifs, car mon fichier allait être inclus à différents endroits du thème, de sorte que require_once '../path-to/my-file' ne fonctionnerait pas.

Remplacer require_once get_template_directory_uri() . '/path-to/my-file' par require_once dirname( __FILE__ ) . '/path-to/my-file' a fait l'affaire.

15
keepyourreceipt

essayez d'utiliser

<?php require_once($_SERVER['DOCUMENT_ROOT'].'/web/a.php'); ?>
11
user6216508

Vous devez mettre le chemin vers le fichier. Par exemple:

require_once('../web/a.php');

Vous ne pouvez pas obtenir le fichier pour le demander à partir d'Internet (avec le protocole http), il est restreint. Les fichiers doivent être sur le même serveur. Avec possibilité de se voir (droits)

Dir-1 -
         > Folder-1 -> a.php
Dir-2 -
         > Folder-2 -> b.php

To include a.php inside b.php => require_once('../../Dir-1/Folder-1/a.php');
To include b.php inside a.php => require_once('../../Dir-2/Folder-2/b.php');
6
SoftGuide
require_once(APPPATH.'web/a.php');

travaillé pour moi en codeigniter

check référence

0
Edo Barrios Garrido
require_once('../web/a.php');

Si cela ne fonctionne pour personne, voici la bonne idée d'inclure un fichier n'importe où dans le projet.

require_once dirname(__FILE__)."/../../includes/enter.php";

Ce code obtiendra le fichier du répertoire 2 en dehors du répertoire actuel.

0
Anand agrawal

WORDPRESS a cette erreur principalement:  
SOLUTION:  
Localisez votre répertoire installé PHP sur le serveur d'hébergement live distant ou sur "Serveur local". 
Dans le cas de Windows 
par exemple si vous utilisez xampp ou wamp webserver. ce sera dans le répertoire xammp 'c:\xammp\php' 
Remarque: Sous Unix/Linux, localisez votre répertoire PHP dans Webserver.

Rechercher & Modifier PHP.INI fichier 
Trouver 'allow_url_include' 
le remplacer par la valeur 'on' 
allow_url_include = On 
Enregistrez-vous php.ini &RED&EACUTE;MARREZvotre serveur Web.

0
ziapcland