Intereting Posts
Ошибка точки входа при запуске PHP-скрипта из командной строки Codeigniter – правильно импортировать JS / CSS / IMG Как настроить php.ini для использования gmail в качестве почтового сервера Соединение отклонено при запуске stream_socket_server & client через apache Использование AND / OR в if else заявление PHP вернуть google контакты api v3 фото? Как я должен обрабатывать таймауты сервера и ответы на код ошибки на http-сообщение в приложении Android? Защищен ли код в php внутри if, который позволяет выполнять только администратор? Обратные вызовы в арифметических функциях Thrift? Действительно ли это регулярное выражение в PHP работает? Недопустимая аббревиатура сокращенного времени DST для Австралии при использовании date_default_timezone_set Как использовать значение массива от php до javascript? Как найти значение min float в нескольких массивах, если один из элементов quil zero PHP Reflection: как узнать, наследуется ли ReflectionMethod? Как проверить, является ли переменная в $ _GET Array целым числом?

обходите ошибку allow_url_include = 0

Я пытаюсь включить файл с URL-адреса, однако я получаю следующую ошибку.

Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /Applications/MAMP/htdocs/diningtime/testsite/salims/index1.php on line 58 Warning: include(http://localhost/diningtime/templates/100/index.php): failed to open stream: no suitable wrapper could be found in /Applications/MAMP/htdocs/diningtime/testsite/salims/index1.php on line 58 Warning: include(): Failed opening 'http://localhost/diningtime/templates/100/index.php' for inclusion (include_path='.:/Applications/MAMP/bin/php/php5.4.4/lib/php') in /Applications/MAMP/htdocs/diningtime/testsite/salims/index1.php on line 58 Test 

Просто интересно, если это так?

Мой код PHP включает код

 <?php include "$location/index.php"; ?> 

Я ценю вашу помощь в этом.

Вы используете полный URL-адрес по мере добавления пути, который сообщает PHP о попытке выполнить HTTP-запрос для извлечения этого файла. Это НЕ, как вы это делаете. Если этот ...100/index.php выводит PHP-код, вы получите какой-то HTML или что-то в качестве результата include, а не php-код в файле. Помните – вы выбираете по URL-адресу, что означает, что это HTTP-запрос, что означает, что веб-сервер будет ВЫПОЛНИТЬ этот сценарий и доставить его вывод, а не просто выполнять его исходный код.

Веб-серверу нечего сказать, что HTTP-запрос для этого скрипта является вызовом include из другого скрипта PHP на том же сервере. Так же легко было бы запросить этот скрипт от какого-то хакера, скрывающегося в России, желающего украсть ваш исходный код. Вы хотите, чтобы ваш исходный код был видимым для всего мира?

Для локальных файлов вы никогда не должны использовать полномасштабный URL-адрес. это ужасно неэффективно и не будет делать то, что вы хотите. почему бы просто не

 include('/path/to/templates/100/index.php'); 

вместо этого, который будет локальным запросом только для файлов, без включенного этапа HTTP?

У меня была аналогичная проблема.

Учитывая сообщение «Marc B's», очевидно, что использование абсолютных URL-адресов не является отличной идеей, даже если это возможно, отредактировав php.ini как «ficuscr». Я не уверен, что это обходное решение будет работать для вашей конкретной ситуации, поскольку оно по-прежнему требует корректировки каждой страницы в зависимости от того, где она находится в вашей структуре папок, но это делает вещи проще, если, как и я, у вас есть много Веб-сайт.

 <?php $root="../";?> <?php include($root . 'folder-A/file_to_be_included_1.php');?> <?php include($root . 'folder-A/file_to_be_included_2.php');?> <?php include($root . 'folder-B/file_to_be_included_3.php');?> <?php include($root . 'folder-B/file_to_be_included_4.php');?> <?php include($root . 'folder-B/sub-folder/file_to_be_included_5.php');?> 

Для меня это означает, что если я переместил страницу в другое место в структуре папок, например, в подпапку своего текущего местоположения, все, что мне нужно сделать, это изменить <?php $root="../";?> чтобы стать <?php $root="../../";?> например