Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

include

php

I am trying to include a php file in a page via

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

I am getting an error

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

I changed allow_url_include=1 in the php.ini and that worked but I don't think that everybody will let me change their php.ini file.

So, is there any way to accomplish this?

like image 984
Gags Avatar asked Apr 25 '14 06:04

Gags


2 Answers

The warning is generated because you are using a full URL for the file that you are including. This is NOT the right way because this way you are going to get some HTML from the webserver. Use:

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

so that webserver could EXECUTE the script and deliver its output, instead of just serving up the source code (your current case which leads to the warning).

like image 147
Nadeem Khan Avatar answered Sep 28 '22 03:09

Nadeem Khan


I had this same error while trying to include a PHP file in my Wordpress theme. I was able to get around it by referencing the file name using dirname(__FILE__). I couldn't use relative paths since my file was going to be included in different places throughout the theme, so something like require_once '../path-to/my-file' wouldn't work.

Replacing require_once get_template_directory_uri() . '/path-to/my-file' with require_once dirname( __FILE__ ) . '/path-to/my-file' did the trick.

like image 21
keepyourreceipt Avatar answered Sep 28 '22 03:09

keepyourreceipt