Проблема с Include на хостинге

12
GS
На сайте с 24.10.2009
Offline
26
GUS
1102

Здравствуйте!

Столкнулся с такой проблемой, перехал на новый хост (wmz-host.ru) , и почему то у меня перестали работать include типа: include "http://site.ru/faq/inc/index.php"; , тоесть те, в которых прописан полный путь до файла, а если его написать вот так: include "inc/index.php"; - то работает! Но переписать все так нет возможности, сайт перестанет работать! На старом хосте все работало прекрасно!

Подскажите выходы из ситуации??? может это проблема хостера?

ixRock
На сайте с 14.11.2006
Offline
46
#1

значит у хостера отключена директива "allow_url_fopen" в php.ini ( php у него надеюсь не ниже версии 4.3.0, потому что иначе поддержки этой директивы с удаленными файлами тогда еще небыло) :)

Работаю [S]за еду и секас[/S] с XHTML, CSS, XSLT, JS, PHP. Если что, вот тут (http://www.mintdesign.ru/) некоторые мои работы. Контакты: ася 344-ноль86-276, мыло ixrock@gmail.com
GS
На сайте с 24.10.2009
Offline
26
GUS
#2

спасибо! надеюсь что это так ... написал в тех.поддержку :)

РС
На сайте с 24.06.2009
Offline
53
#3
GUS:

Столкнулся с такой проблемой, перехал на новый хост (wmz-host.ru) , и почему то у меня перестали работать include типа: include "http://site.ru/faq/inc/index.php"; , тоесть те, в которых прописан полный путь до файла, а если его написать вот так: include "inc/index.php"; - то работает!

Удивительно, что оно у вас вообще работало - с веба будет доступен только результат работы скрипта а не его сурс, конечно если есть соответствующие хендлы на обработку .php файлов интерпретатором.

ixRock если говорить про 5 ветку(5.2) то правильнее было бы - allow_url_include+allow_url_fopen. На wmz-host.ru вроде как везде php 5.1.6 с allow_url_fopen On.

GS
На сайте с 24.10.2009
Offline
26
GUS
#4
РаСо:
Удивительно, что оно у вас вообще работало - с веба будет доступен только результат работы скрипта а не его сурс, конечно если есть соответствующие хендлы на обработку .php файлов интерпретатором.
ixRock если говорить про 5 ветку(5.2) то правильнее было бы - allow_url_include+allow_url_fopen. На wmz-host.ru вроде как везде php 5.1.6 с allow_url_fopen On.

а можете более доступно объяснить?

GUS добавил 16.11.2009 в 10:27

а кстати, файл не удаленный ... он на этом же хосте лежит ...

GUS добавил 16.11.2009 в 10:30

Причина, по которой я прописываю полный путь ... потому что в одном месте стоит:

<?

include 'http://site.ru/inc/index.php';

?>

а в другом

<?

include "http://site.ru/faq/inc/index.php";

?>

тоесть названия файлов повторяются .... и что бы не было путаниц в путях, и отображался именно нужный файл ... я прописал полный путь ...

Может есть другие варианты ....... ?

LEOnidUKG
На сайте с 25.11.2006
Offline
1770
#5

allow_url_include - Это дыра в безопасности. Поэтому она закрыта.

Метод решения разный т.е. что именно берётся по запрашиваемому Вами урлу?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
GS
На сайте с 24.10.2009
Offline
26
GUS
#6
LEOnidUKG:
allow_url_include - Это дыра в безопасности. Поэтому она закрыта.

Метод решения разный т.е. что именно берётся по запрашиваемому Вами урлу?

Берется содержание страниц ...

LEOnidUKG
На сайте с 25.11.2006
Offline
1770
#7
GUS:
Берется содержание страниц ...

можно попробовать брать данные через Curl или через file_get_contents

GS
На сайте с 24.10.2009
Offline
26
GUS
#8

Например по директории site.ru\faq\index.php .... лежит фал index.php в котором:

<?

include 'http://site.ru/inc/header.html';

?>

<table align="center" width="968">

<tr>

<td width="300" align="left" valign="top">

<?

include "http://site.ru/inc/menu.php";

?>

</td>

<td valign="top" align="left">

<?

include "http://site.ru/faq/inc/index.php";

?>

</td>

</tr>

</table>

<?

include "http://site.ru/inc/footer.html";

?>

РС
На сайте с 24.06.2009
Offline
53
#9
GUS:
а можете более доступно объяснить?

Допустим у вас есть файл include.php выполняющий, например такое не замысловатое действие

<?php

$var1='SomeVal';

соответственно при обращении с веба у нас будет пустая страница(а именно обращения по протоколу http у нас и будет происходить потому как обвертка у нас http://), соответственно никакой переменной $var1 у нас в глобал скупе не будет, при условии что у нас

AddType application/x-httpd-php .php.

GS
На сайте с 24.10.2009
Offline
26
GUS
#10
LEOnidUKG:
можно попробовать брать данные через Curl или через file_get_contents

можете пример привести, как будет выглядеть код ... потому что я в этом слабо пинимаю ...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий