Подтвердить что ты не робот

Предупреждение: require_once(): http://оболочка отключена в конфигурации сервера allow_url_include = 0

Я пытаюсь включить php файл на страницу через

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

Я получаю сообщение об ошибке

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

Я изменил allow_url_include=1 в php.ini, и это сработало, но я не думаю, что все позволят мне изменить файл php.ini.

Итак, есть ли способ сделать это?

4b9b3361

Ответ 1

Предупреждение генерируется, потому что вы используете полный URL-адрес для файла, который вы включаете. Это НЕ правильный путь, потому что таким образом вы получите HTML-код с веб-сервера. Использование:

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

чтобы веб-сервер мог ВЫПОЛНИТЬ script и доставить его вывод вместо того, чтобы просто обслуживать исходный код (ваш текущий случай, который приводит к предупреждению).

Ответ 2

У меня была такая же ошибка при попытке включить PHP файл в мою тему Wordpress. Мне удалось обойти это, указав имя файла, используя dirname(__FILE__). Я не мог использовать относительные пути, так как мой файл будет включен в разные места по всей теме, поэтому что-то вроде require_once '../path-to/my-file' не будет работать.

Замена require_once get_template_directory_uri() . '/path-to/my-file' на require_once dirname( __FILE__ ) . '/path-to/my-file' сделала трюк.

Ответ 3

попробуйте использовать

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

Ответ 4

Вы должны указать путь к файлу. Например:

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

Вы не можете заставить файл запрашивать его из Интернета (с протоколом http), который он запретил. Файлы должны находиться на одном сервере. С возможностью видеть друг друга (права)

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');