Форум

/ домой \ \ темы /



Тема: php переменные

17/09/2008 10:00 Kinsler:
ну например
echo $_SERVER["SERVER_PORT"];
дает верный результат, а вот
echo $_SERVER["SERVER_NAME"];
echo $_SERVER["SERVER_ADDR"];
молчат... у меня глюк или у всех?
17/09/2008 23:16 Max:
Настраивайте PHP:

Скачайте php4.x.x.zip или php5.x.x.zip -- full package
Распакуйте например в C:\PHP
Переименуйте php.ini-dist или php.ini-recomendet в php.ini
Поменяйте следующие переменные:



display_startup_errors = On
arg_separator.input = "&"
variables_order = "GPECS"
register_globals = On
magic_quotes_runtime = On
enable_dl = On
cgi.force_redirect = 0
force_redirect = 0
Строка ;pfpro.defaultport = 443 должна быть закомментирована

Проверте чтобы php.ini был только в одном месте.


22/09/2008 11:34 Kinsler:
Не спасло. Файрвал против.
Пришлось написать маленький CGI и вставочку SSI на страницу поставить.
Исходный текст или скомпилированный вариант (win32) могу сбросить.
07/11/2009 21:20 Demin:
Ну что? Сервер так и не будет содержать переменные SERVER_NAME, SERVER_ADDR и прочие?
09/11/2009 01:59 Byuik:
ДЛЯ ТЕХ КТО В ТАНКЕ smallsrv.com/forum/f.cgi?f=21429&a=1
09/11/2009 13:44 Demin:
Намек на SafeMode или php-cgi.exe? Или что я там должен увидеть?
И выключи Caps lock.
10/11/2009 22:38 Byuik:
Ты пробовал тот дистрибутив PHP который настроен и выложен для скачивания ?
11/11/2009 11:48 Demin:
Byuik,
Оу, не пробовал. Спасибо.

....

Попробовал - без изменений.
В общем-то в твоем дистре изменен лишь php.ini, как я понял. Можно было бы тогда выложить только этот файл. О_о

В этой теме Link temporary removed Max писал, что массив $_SERVER - исключительно часть PHP.
Но на сайте PHP Link temporary removed в описании написано, что содержимое массива создается веб-сервером. И якобы нет гарантии, что каждый веб-сервер может предоставлять все из них.

Вот я и хочу попросить, чтобы включили эти переменные в Small HTTP server.
12/11/2009 01:51 Byuik:
disable_functions = shell,passthru,system,shell_exec,exec,popen,show_source,proc_open,php_uname,getenv,gethostbyname,gethostbyaddr

Я у себя на сервере заблокировал их )) а они работают 100%


12/11/2009 01:55 Byuik:
обрати внимание на последние функции getenv,gethostbyname,gethostbyaddr
12/11/2009 14:26 Demin:
Byuik,
Ах, да. Рассматривал эти функции уже.
В частности gethostbyaddr() - да, работает. Но есть у нее недостатки:
1) Поскольку переменная SERVER_ADDR не работает, то ip нужно указывать вручную (например, gethostbyaddr('127.0.0.1')). А это уже уменьшает гибкость кода.
2) Эта функция безсильна, когда мы используем виртуальные хосты. Ну, с alias'ами, я так понимаю, ситуация будет та же.

В каждом случае я проверял наличие серверных переменных и через phpinfo().
Там много переменных... хм... Только что обнаружил переменные HOST и HTTP_HOST. Обе отображают имя домена. Так что вопрос с SERVER_NAME снимается. Только вот в коде CMS, где используется $_SERVER['SERVER_NAME'] придется править на $_SERVER['HOST'].

А вопрос с SERVER_ADDR остается открытым.
Из тех, что отображают адрес в phpinfo: REMOTE_HOST, REMOTE_ADDR, HTTP_REMOTE_ADDR. Но это всё ip посетителя, я так понимаю.
13/11/2009 18:25 Demin:
Ладно, пофик.
Открыл для себя wamp сервер. Хорошая вещь =)
13/11/2009 23:23 Byuik:
А я всёже должен отдать должное MAX всётаки его сервер не заменим.
Он наиболее простой в понимании и надёжен.
Вот только PHP в linux хромает а так просто отлично всё.
17/11/2009 23:52 ssv:
MAX! Не хотелось бы надоедать, но просьба все таки добавить в сервер переменные
$_SERVER["SERVER_NAME"];
$_SERVER["SERVER_ADDR"];

Пользователь: Пароль: Новый пользователь:   Запомнить пароль: