Автор Тема: Переменная окружения HTTP_HOST  (Прочитано 8415 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн chaosstorm

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zarabotokdeneg.ru
Переменная окружения HTTP_HOST
« : 16 Августа 2003, 19:40:15 »
У меня на компе установлен Apache и PHP. Набираю http://localhost. Всё работает. Стоит где-то применить переменную окружения HTTP_HOST, например в:
include ("http://$HTTP_HOST/data/config.php")
Как в браузере выдаётся ошибки.
Пробую на сервере - всё нормально, а локально не получается. Есть ли какой-нибудь выход?

P.S. Я новичок, так что сильно не ругайте, лучше объясните.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #1 : 16 Августа 2003, 21:20:14 »
попробую не ругать.
include служит для того, чтобы включать в состав скрипта другой скрипт. Его ИСХОДНЫЙ КОД.
А код лежит в файле.
А файл - это то, что ты смотришь проводником или нортон коммандером на диске ЦЭ или ДЭ.
а не то, что ты набираешь в командной строке браузера.
то, что ты набираешь в командной строке браузера, писать в include НЕЛЬЗЯ!
в инклюде надо писать путь к ФAЙЛУ
вида include(\'c:/www/data/config.php\');
тогда твой скрипт включит в себя конфиг и обработает то, что в нем написано.
а не обратится с запросом, как браузер, к своему серверу, запросит конфиг, сервер конфиг ИСПОЛНИТ, и вернет то, что ты в этом конфиге выводишь. Ничего не выводишь? Ну так ничего и не вернет!

чтобы сделать включение файлов универсальным, испольpeется переменная $DOCUMENT_ROOT
и вот ее и надо писать вместо $HTTP_HOST!!!
и безо всякого http://!!!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #2 : 16 Августа 2003, 21:21:25 »
я вот только удивляюсь - откуда новички берут такую галиматью - инклюд по НТТР?
Сами доходят, или читают где?
« Последнее редактирование: 16 Августа 2003, 21:57:38 от RomikChef »

Оффлайн nagash

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 341
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nagash.org
Переменная окружения HTTP_HOST
« Ответ #3 : 18 Августа 2003, 05:32:12 »
Цитировать

Пробую на сервере - всё нормально, а локально не получается. Есть ли какой-нибудь выход?

ого!
Цитировать

 вот только удивляюсь - откуда новички берут такую галиматью - инклюд по НТТР?

угумс!

Оффлайн archy

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 19
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #4 : 18 Августа 2003, 13:59:30 »
я все понимаю, не флейма ради, но почему это в include нельзя писать "http://", или тут вопрос конкретно про винды?
http://ru.php.net/manual/ru/ref.filesystem.php#ini.allow-url-fopen
зачем обманывать людей....

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #5 : 18 Августа 2003, 14:17:18 »
Путь считается от корневого каталога сервера т.е. локально и хттп там просто не надо, а инклудить код в удалённых файлах не получиться (под винды) т.к. http://ua.php.net/manual/ru/function.include.php и там посмотреть на первое "внимание"...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #6 : 18 Августа 2003, 14:42:07 »
Цитировать
archy:
я все понимаю

:-))))))))))))))))))
ты себе льстишь

сделай файл
config.php
---
$a="blabla";
?>
---
и файл
index.php
---
//include("config.php");
//include("http://".$HTTP_HOST."config.php");
echo $a;
?>
---
и запусти его с разными инклюдами.
и когда ты поймешь, почему один тебе выводит, а другой - нет, то вот только после этого ты и сможешь писать, что "все понимаешь"

Оффлайн chaosstorm

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zarabotokdeneg.ru
Переменная окружения HTTP_HOST
« Ответ #7 : 19 Августа 2003, 11:31:28 »
А $DOCUMENT_ROOT будет работать на Apache и PHP установленном локально, а не на сервере?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #8 : 19 Августа 2003, 11:33:36 »
chaosstorm
будет
AS IS...

Оффлайн chaosstorm

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zarabotokdeneg.ru
Переменная окружения HTTP_HOST
« Ответ #9 : 19 Августа 2003, 11:41:50 »
А вот у меня есть много страниц, расположенных в рахных катлогах какой код с include мне нужен(с использованием $DOCUMENT_ROOT - чтобы был универсальным), чтобы на всех их загружался скрипт расположенный в каталоге DATA корневого каталога?

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #10 : 19 Августа 2003, 12:06:00 »
include ("$DOCUMENT_ROOT\\DATA\\yourfile.php");
только правильно пропиши корневик

Оффлайн archy

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 19
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #11 : 19 Августа 2003, 12:17:18 »
RomikChef
ясен болт, что второй вариант ничего не выведет, но инклюдить файлы через http:// можно, другой вопрос какие и для чего! :)

Оффлайн chaosstorm

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zarabotokdeneg.ru
Переменная окружения HTTP_HOST
« Ответ #12 : 19 Августа 2003, 12:21:36 »
Вроде всё сделал. Выводит такую ошибку:
-----------------
Notice: Undefined variable: DOCUMENT_ROOT in e:\\www\\home\\localhost\\www\\index.php on line 3

Warning: main(\\DATA\\kernel.php): failed to open stream: No such file or directory in e:\\www\\home\\localhost\\www\\index.php on line 3

Fatal error: main(): Failed opening required \'\\DATA\\kernel.php\' (include_path=\'.;c:\\php4\\pear\') in e:\\www\\home\\localhost\\www\\index.php on line 3
----------------------

Оффлайн Bublic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Переменная окружения HTTP_HOST
« Ответ #13 : 19 Августа 2003, 13:38:54 »
Попробуй использовать $_SERVER[\'DOCUMENT_ROOT\'].

Оффлайн chaosstorm

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.zarabotokdeneg.ru
Переменная окружения HTTP_HOST
« Ответ #14 : 19 Августа 2003, 14:46:14 »
Теперь выводит:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in e:\\www\\home\\localhost\\www\\index.php on line 3


А где можно проверить и правильно прописать корневик

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28