Html mühit dəyişənləri. Windows və Denwer

Brauzer veb serverdən sənəd tələb etdikdə o, həmçinin müəyyən brauzer və əməliyyat sistemi parametrləri haqqında texniki məlumatları serverə göndərir. Veb server, öz növbəsində, sənədlə eyni vaxtda bəzi xüsusiyyətlərini qaytarır. Beləliklə, brauzer və veb server mühit dəyişənləri adlanan məlumat mübadiləsi aparır. Siz bu dəyişənlərdən öz məqsədləriniz üçün istifadə edə və onları internet səhifəsində göstərə bilərsiniz.

SSI istifadə edərkən, xüsusi mühit dəyişənini göstərmək üçün ümumi sintaksis aşağıdakı kimidir.

Bəzi dəyişənlər onların təsviri ilə cədvəldə verilmişdir. 1. Nəzərə alın ki, bütün adlar böyük hərflərlə yazılır. Bu şərt lazım olmasa da, bu qeyd forması ənənəvi və köklüdür.

Cədvəl 1. Ətraf mühit dəyişənlərinin siyahısı
Dəyişən Təsvir
DOCUMENT_ROOT Saytın kök qovluğuna gedən yol. Yerli veb server üçün dəyər z:/home/site/www formasını ala bilər, lakin digər hallarda bu, server əməliyyat sistemindən və istifadə olunan proqram təminatından asılıdır.
GATEWAY_INTERFACE Versiya CGI (Common Gateway Interface, ümumi şlüz interfeysi). Qiymət adətən CGI/1.1-dir.
HTTP_ACCEPT Brauzerin qəbul edə biləcəyi fayl növləri. Qaytarılan dəyər vergüllə ayrılmış dəstəklənən MIME növlərinin siyahısıdır, məsələn: mətn/html, proqram/xhtml+xml.
HTTP_CONNECTION Brauzer və veb server arasında əlaqə növü. Beləliklə, saxlama dəyəri brauzerin serverlə daimi əlaqə saxlaması deməkdir. Bu halda, bir əlaqə seansı zamanı bir neçə sorğunun edilməsinə icazə verilir. Bu halda yenidən əlaqə artıq baş vermir.
HTTP_HOST Veb saytın domen adı. Adətən, www (www..ru) prefiksi olan adlar seçilir. Dəyişən brauzerin ünvan çubuğunda göstərilən sayt ünvanını qaytaracaq.
HTTP_REFERER İstifadəçinin bu sayta gəldiyi səhifənin ünvanı da istinadçı adlanır.
HTTP_USER_AGENT

Brauzerin və istifadə olunan əməliyyat sisteminin identifikatoru. Qaytarılan dəyər açar sözlərdən ibarət sətirdir. Məsələn, aşağıdakı xətt

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2

istifadəçinin Windows 7 əməliyyat sistemi altında Firefox 6.0.2 brauzerindən istifadə etdiyini bildirir.

QUERY_STRING Sual işarəsindən (?) sonra ünvan sətrində görünən sorğu. Adətən "dəyişən=dəyər" şəklində yazılır, burada dəyişənlər ampersand (&) ilə ayrılır.?id=5&slv=34 id=5&slv=34 dəyəri qaytarılacaq.
REMOTE_ADDR Sayt ziyarətçisinin IP ünvanı.
REQUEST_METHOD Məlumatların serverə göndərilməsi üsulu. Standart metod GET-dir.
REQUEST_URI Tələb olunan sənədin ünvanı. Geri sayma saytın kökündəndir, yəni .html 1.html dəyərini qaytaracaq.
SERVER_ADDR Saytın yerləşdiyi kompüterin IP ünvanı.
SERVER_ADMIN Sayt administratorunun e-poçt ünvanı.
SERVER_NAME Server adı.
SERVER_PORT Məlumatın qəbulu gözlənilən port.
SERVER_PROTOKOL Məlumatların qəbulu və göndərilməsi üçün protokol. Dəyər adətən HTTP/1.1-dir.
SERVER_SOFTWARE Serverdə quraşdırılmış proqram təminatı. Apache veb serveri üçün versiya nömrəsi (Apache/2.2.4), həmçinin PHP versiyası (PHP/5.3.3) qaytarılır.

Nümunə 1 veb-səhifədə tələb olunan məlumatları göstərmək üçün mühit dəyişənlərindən necə istifadə olunacağını göstərir.

Nümunə 1. DOCUMENT_ROOT dəyişəninin dəyərinin göstərilməsi

SGK

Saytın kök qovluğuna gedən yol:



Nümunənin icrası nəticəsində aşağıdakı sətir çıxacaq: Saytın kök qovluğuna gedən yol: /home/site/www.

Ətraf dəyişənlərinin dəyərlərinə Nümunə 2-də göstərildiyi kimi phpinfo() funksiyasından istifadə edərək PHP proqramından istifadə etməklə baxmaq olar.

Nümunə 2: phpinfo()-dan istifadə

Proqramın icrası nəticəsində “Apache Environment” bölməsində mühit dəyişənləri də daxil olmaqla müxtəlif parametrləri olan cədvəl nümayiş olunacaq (şək. 1).

düyü. 1. Apache Environment

Siz həmçinin PHP-də bütün mühit dəyişənlərini cədvəl şəklində göstərəcək proqram yaza bilərsiniz (nümunə 3).

Misal 3: Mühit dəyişənlərinin göstərilməsi

\n \n \n \n"; çap "

\n"; foreach ($_SERVER kimi $a => $b) çap " \n"; çap "
$a$b
\n"; çap "

\n\n"; ?>

Skriptə başlamazdan dərhal əvvəl server ona bəzi mühit dəyişənlərini məlumatla ötürür. Müəyyən dəyişənlər bəzi başlıqları ehtiva edir, lakin hamısı deyil (bütün başlıqları əldə edə bilməzsiniz).

HTTP_ACCEPT- Bu dəyişən brauzer tərəfindən qəbul edilə bilən bütün MIME məlumat növlərinin siyahısını verir. */* xətti brauzerin istənilən növü başa düşdüyünü bildirir.

HTTP_ACCEPT= */*

HTTP_REFERER- Bu dəyişən istifadəçinin bu səhifəyə gəldiyi səhifə haqqında məlumatı təmsil edir. Siz bu dəyişəndən, məsələn, istifadəçinin saytınızdakı hərəkətini izləmək və sonra ən populyar marşrutlara baxmaq üçün istifadə edə bilərsiniz.

HTTP_REFERER= http://www.spravkaweb.ru/

HTTP_COOKIE- Bu dəyişən bütün URL kodlu kukiləri saxlayır.

HTTP_COOKIE=

HTTP_USER_AGENT- İstifadəçinin brauzerini müəyyənləşdirir. Brauzer növünü təyin etmək üçün bu sətirdə sözlərin olub-olmadığını yoxlamaq lazımdır: əgər brauzer Internet Explorer-dirsə, onda MSIE alt sətri olacaq və yalnız Mozilla sözü varsa, bu Netscape-dir.

HTTP_USER_AGENT= Mozilla/4.0 (uyğundur; MSIE 5.0; Windows NT 4.0)

Sizdə Internet Explorer var

HTTP_HOST- Skriptin işlədiyi Veb serverin domen adını ehtiva edir. Bu dəyişən, məsələn, müəyyən bir serverə bağlanmamaq üçün Yer başlığında tələb olunan tam yolu yaratmaq üçün istifadə etmək olduqca rahatdır.

HTTP_HOST= www.spravkaweb.ru

HTTP_FROM- Sorğunu göndərən istifadəçinin e-poçt ünvanı.

HTTP_FROM=

SERVER_NAME- Domen adı və ya server IP ünvanı.

SERVER_NAME= www.spravkaweb.ru

SERVER_SOFTWARE- Müştərinin sorğusuna cavab verən server proqramının adı və versiyası.

SERVER_SOFTWARE= Apache/1.3.33 (Unix) mod_jk/1.2.8 mod_auth_passhrough/1.8 mod_log_bytes/1.2mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_ssl/2.8.22 OpenSSL/0.9.7a/PH.B.

SERVER_PORT- Bu dəyişən istifadəçinin brauzerinin daxil olduğu server portunu ehtiva edir. Adətən bu 80-dir. Dəyişən Yer başlığı parametrini yaratmaq üçün də istifadə edilə bilər.

SERVER_PORT= 80

SERVER_PROTOKOL- Dəyişən sorğu üçün istifadə edilmiş məlumat protokolunun adını və versiyasını ehtiva edir.

SERVER_PROTOCOL= HTTP/1.0

REMOTE_ADDR- Bu dəyişən brauzerin işə salındığı istifadəçinin hostunun IP ünvanını (və ya domen adını) ehtiva edir.

REMOTE_ADDR= 212.94.114.177

REMOTE_PORT- Server cavabını almaq üçün istifadəçinin brauzerinə təyin edilmiş port.

REMOTE_PORT= 4277

REMOTE_USER- Sorğunu göndərən istifadəçinin identifikasiya adı.

REMOTE_USER=

SCRIPT_NAME- Bu skripti ehtiva edən faylın adını ehtiva edir. Bu dəyişəni özünüzə yönləndirərkən (özünü yönləndirmə) Məkan başlığını formalaşdırarkən, həmçinin etiketin fəaliyyət atributunun dəyərini əvəz etmək üçün istifadə etmək rahatdır.

parametrlər olmadan işə salındıqda skriptin çağırdığı səhifədə (müəyyən bir skript adına bağlanmamaq üçün).

SCRIPT_NAME=/pril.php

DOCUMENT_ROOT- Veb sənəd ağacının kök kataloqu.

DOCUMENT_ROOT=/home/spravka/public_html

REQUEST_METHOD- İstifadəçinin məlumat ötürərkən istifadə etdiyi üsul. Qeyd etmək lazımdır ki, yaxşı yazılmış skript özü bu dəyişənə əsaslanaraq istifadəçinin hansı metoddan istifadə etdiyini müəyyən etməli və müvafiq mənbədən məlumat almalı və köçürmənin, məsələn, yalnız POST metodu.

REQUEST_METHOD= GET

QUERY_STRING- URL-də sual işarəsindən sonra görünən parametrləri ehtiva edir. Nəzərinizə çatdıraq ki, onlar həm GET metodu, həm də POST metodu ilə mövcuddur (əgər sonuncu halda onlar etiketin fəaliyyət atributunda müəyyən edilibsə) ).

QUERY_STRING= ss=getenv

PATH_INFO- Yol haqqında əlavə məlumat ehtiva edir.

PATH_INFO=

PATH_TRANSLATED- Veb sənəd ağacının kök kataloquna gedən yolu təyin edən prefiksi olan PATH_INFO dəyişənindəki kimi eyni məlumat.

PATH_TRANSLATED=

CONTENT_TYPE- Sorğunun media məlumat növü.

CONTENT_TYPE=

CONTENT_LENGTH- İstifadəçi tərəfindən göndərilən verilənlərin baytlarının sayını qaytarır. POST formasını qəbul edirsinizsə və emal edirsinizsə, bu dəyişən təhlil edilməlidir.

GATEWAY_INTERFACE- Serverin istifadə etdiyi CGI versiyası.

GATEWAY_INTERFACE= CGI/1.1


Ətraf Mühit Dəyişənləri

Ətraf Dəyişənləri:




echo "Siz buradan gəldiniz: ".getenv("HTTP_REFERER")."
";
$br=getenv("HTTP_USER_AGENT");
if(strpos($br,"MSIE")!==false) echo "Sizdə Internet Explorer var
";
else echo "Sizdə Netscape və ya başqaları var.
";
echo "Sizin IP: ".getenv("REMOTE_ADDR")."
";
echo "Budur brauzer xəttindəki parametrlər: ".getenv("QUERY_STRING");
?>



Bu, işlədiyi mühitdən asılı olaraq PHP xidmətinin konfiqurasiyasını həyata keçirmək üçün qısa yoldur. Kimsə daha zərif bir həll təklif etsə və ya xırda şeylərdə düzəliş etsə, şad olaram.

Əsas fikir

Mühit dəyişənlərindən istifadə etməklə konfiqurasiya edilmiş eyni ekosistem daxilində xidməti, mikroxidmətləri və asılı tətbiqləri işə salın.
Problem
Bu məqalə "mühit dəyişənləri"ni çox dəfə təkrarlayır.
Qutudan kənarda, php-fpm qlobal mühit dəyişənlərinə məhəl qoymur (getenv funksiyası), php cli isə onları qəbul edə bilər.
Fon
Əgər siz artıq .env ilə işləmisinizsə, bu bölməni keçə bilərsiniz

Hazırda ZF2-də yazılmış bir layihə üzərində işləyirəm. Layihəni konfiqurasiya etmək üçün müxtəlif mühitlər üçün konfiqurasiya fayllarından istifadə edilmişdir. Bu, layihə deposunda çoxlu sayda dublikat konfiqurasiya yaradır, buna bənzər:
  • session.global.php
  • session.local.php.dist
  • session.unittest.php.dist
  • db.global.php
  • db.local.php.dist
  • db.unittest.php.dist
Bu dublikatlar daim bir-biri ilə sinxronlaşdırılmalıdır. Bundan əlavə, onlar müəyyən PHP məntiqini özlərində saxlayırlar ki, bu da kodun təkrarlanmasına səbəb olur.

Beləliklə, layihə indi ətraf mühiti nəzərə alır, lakin...

İnkişaf işləyən maşınlarda aparılarkən, layihə .env faylını oxudu və hər şey işlədi. Amma mən test mühitini yerləşdirəndə məlum oldu ki, əgər mən real sistem mühiti dəyişənlərini təyin etsəm, php-fpm onlara məhəl qoymur. Google və StackOverflow-dan müxtəlif reseptlər iki tanınmış metodun istifadəsinin bu və ya digər avtomatlaşdırılmasına qədər qaynadı:

1. fastcgi_param parametri SOMEENV testindən istifadə edərək dəyişənlərin nginx vasitəsilə ötürülməsi;
2. php-fpm işçi proses hovuzu konfiqurasiyasında env formatında dəyişənlərin qurulması.

Həm birinci, həm də ikinci seçim bəzi xüsusi vəziyyətlər üçün əlverişlidir. Ancaq "tətbiqi deyil, mühiti konfiqurasiya etmək" paradiqmasında düşünürsünüzsə, bu cür üsullar, məsələn, sadəcə bir .env faylını layihə qovluğuna qoymaqdan daha çətin olur. Ancaq bir orkestr, bir CI sistemi və ya sadəcə bir sistem administratoru layihənin həyata keçirilməsinin təfərrüatlarını bilməməlidir;

Təklif olunan həll
İnternetdən müxtəlif reseptləri birləşdirərək aşağıdakı iş həllini tapdım.
Centos 7, PHP 5.6.14 altında sınaqdan keçirilmişdir.

1. /etc/php.ini açın - Variables_order = "GPCS" ilə dəyişənlər_order = "EGPCS" # Bundan sonra PHP # http://php.net/manual/ru/ini qlobal məkanına mühit dəyişənləri əlavə edəcək. core.php #ini.variables-order 2. /etc/php-fpm.d/www.conf faylını açın, /etc/php-fpm.conf ilə səhv salmayın (müxtəlif sistemlərdə müxtəlif yerlərdə ola bilər, bu php-fpm üçün www proses hovuzunun konfiqurasiyası - Əlavə edin (və ya varsa dəyişdirin): clear_env = no # işə salınmış işçilər üçün qlobal dəyişənlərin təmizlənməsini söndürün 3. /etc/environment daxilində lazımi mühit dəyişənlərini təyin edin (standart sintaksis A=B) ) 4. ln -fs / etc/environment /etc/sysconfig/php-fpm # indi php-fpm xidmət mühiti dəyişəni konfiqurasiyası sadəcə olaraq qlobal konfiqurasiya 5-ə keçid olacaq. systemctl daemon-reload && service php-fpm restart

Symlink ilə eyni yanaşma, nəzəri olaraq, digər xidmətlərə də aiddir.

Təklif olunan həllin üstünlükləri:
- /etc/environment-də saxlanılan dəyişənlər müxtəlif proqramlar üçün əlçatandır. Siz shell-də echo $MYSQL_HOST və ya php-də getenv("MYSQL_HOST") çağıra bilərsiniz.
- /etc/environment-də açıq şəkildə təyin olunmayan mühit dəyişənləri php-fpm-də bitməyəcək. Bu, orkestratora xidmətin işlədiyi təcrid olunmuş sistemin xaricindən ətraf mühitə nəzarət etməyə imkan verir.

Minuslar:
- Təəssüf ki, nginx-ə bənzər php-fpm-də yenidən yükləmə üçün işləyən bir əmr tapmadım, ona görə də /etc/environment-i dəyişdirsəniz, etməlisiniz systemctl daemon-yenidən yüklə && xidmət php-fpm yenidən başladın.

Əhəmiyyətli: Tətbiqiniz təcrid olunmuş mühitdə (server, virtual maşın, konteyner) işləmirsə, mühit dəyişənlərinin müəyyən edilməsi qlobal məkanda ad uyğunluğu səbəbindən sistemdəki qonşu xidmətlərə gözlənilmədən təsir göstərə bilər.

Ətraf Mühit Dəyişənləri

PHP-də ətraf mühit dəyişənləri

Skriptə başlamazdan dərhal əvvəl server ona bəzi mühit dəyişənlərini məlumatla ötürür. Müəyyən dəyişənlər bəzi başlıqları ehtiva edir, lakin hamısı deyil (bütün başlıqları əldə edə bilməzsiniz). Aşağıda ən vacib mühit dəyişənlərinin siyahısını təqdim edəcəyəm.

HTTP_ACCEPT

Bu dəyişən hamısını sadalayır MIME məlumat növləri, brauzer tərəfindən şərh edilə bilər. */* xətti brauzerin istənilən növü başa düşdüyünü bildirir.

HTTP_ACCEPT= şəkil/gif, şəkil/x-xbit xəritəsi, şəkil/jpeg, şəkil/pjpeg, proqram/x-shockwave-flash, proqram/vnd.ms-excel, proqram/msword, */*

HTTP_REFERER

Bu dəyişən istifadəçinin bu səhifəyə gəldiyi səhifə haqqında məlumatı təmsil edir. Siz bu dəyişəndən, məsələn, istifadəçinin saytınızdakı hərəkətini izləmək və sonra ən populyar marşrutlara baxmaq üçün istifadə edə bilərsiniz.

HTTP_REFERER= http://www.spravkaweb.ru/php/pril/

HTTP_COOKIE

Bu dəyişən bütün URL kodlu kukiləri saxlayır.

HTTP_COOKIE= hotlog=1; ZDEDebuggerPresent=php,phtml,php3; b=b; PHPSESSID=16805922a9258cda274316e60f649cf8

HTTP_USER_AGENT

İstifadəçinin brauzerini müəyyənləşdirir. Brauzer növünü təyin etmək üçün bu sətirdə sözlərin olub-olmadığını yoxlamaq lazımdır: əgər brauzer Internet Explorer-dirsə, onda MSIE alt sətri olacaq və yalnız Mozilla sözü varsa, bu Netscape-dir.

Misal üçün:

HTTP_USER_AGENT= Mozilla/4.0 (uyğundur; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; Maxthon)

HTTP_HOST

Skriptin işlədiyi Veb serverin domen adını ehtiva edir. Bu dəyişən, məsələn, müəyyən bir serverə bağlanmamaq üçün Yer başlığında tələb olunan tam yolu yaratmaq üçün istifadə etmək üçün olduqca rahatdır.

HTTP_HOST= www.spravkaweb.ru

HTTP_FROM

Sorğunu göndərən istifadəçinin e-poçt ünvanı.

SERVER_NAME

Domen adı və ya server IP ünvanı.

SERVER_NAME= www.spravkaweb.ru

SERVER_SOFTWARE

Müştərinin sorğusuna cavab verən server proqramının adı və versiyası.

SERVER_PORT

Bu dəyişən istifadəçinin brauzerinin daxil olduğu server portunu ehtiva edir. Adətən bu 80-dir. Dəyişən Yer başlığı parametrini yaratmaq üçün də istifadə edilə bilər.

SERVER_PROTOKOL

Dəyişən sorğu üçün istifadə edilmiş məlumat protokolunun adını və versiyasını ehtiva edir.

SERVER_PROTOCOL= HTTP/1.1

REMOTE_ADDR

Bu dəyişən brauzerin işə salındığı istifadəçinin hostunun IP ünvanını (və ya domen adını) ehtiva edir.

REMOTE_PORT

Server cavabını almaq üçün istifadəçinin brauzerinə təyin edilmiş port.

REMOTE_USER

Sorğu edən istifadəçinin identifikasiya adı.

SCRIPT_NAME

Bu skripti ehtiva edən faylın adını ehtiva edir. Bu dəyişən özünüzə yönləndirərkən (özünü yönləndirmə) Məkan başlığını formalaşdırarkən, həmçinin etiketin fəaliyyət atributunun dəyərini əvəz etmək üçün istifadə etmək üçün əlverişlidir. parametrlər olmadan işə salındıqda skriptin çağırdığı səhifədə (müəyyən bir skript adına bağlanmamaq üçün).

DOCUMENT_ROOT

Veb sənəd ağacının kök kataloqu.

REQUEST_METHOD

İstifadəçinin məlumat ötürərkən istifadə etdiyi üsul. Qeyd etmək lazımdır ki, yaxşı yazılmış skript özü bu dəyişənə əsaslanaraq istifadəçinin hansı metoddan istifadə etdiyini müəyyən etməli və müvafiq mənbədən məlumat almalı və köçürmənin, məsələn, yalnız POST metodu.

QUERY_STRING

URL-də sual işarəsindən sonra görünən parametrləri ehtiva edir. Nəzərinizə çatdıraq ki, onlar həm GET, həm də POST metodları ilə mövcuddur (əgər sonuncu halda onlar etiketin fəaliyyət atributunda müəyyən edilibsə) ).

PATH_INFO

Yol haqqında əlavə məlumat ehtiva edir.

PATH_TRANSLATED

Dəyişəndə ​​olduğu kimi eyni məlumat PATH_INFO Veb sənəd ağacının kök qovluğuna gedən yolu göstərən prefikslə.

CONTENT_TYPE

Sorğunun media məlumat növü.

CONTENT_LENGTH

İstifadəçi tərəfindən göndərilən verilənlərin bayt sayını qaytarır. POST formasını qəbul edirsinizsə və emal edirsinizsə, bu dəyişən təhlil edilməlidir.

GATEWAY_INTERFACE

Serverin istifadə etdiyi CGI versiyası.

Ətraf mühit dəyişənlərindən istifadə nümunəsi

Ətraf Mühit Dəyişənləri

PHP-də ətraf mühit dəyişənləri

Skriptə başlamazdan dərhal əvvəl server ona bəzi mühit dəyişənlərini məlumatla ötürür. Müəyyən dəyişənlər bəzi başlıqları ehtiva edir, lakin hamısı deyil (bütün başlıqları əldə edə bilməzsiniz). Aşağıda ən vacib mühit dəyişənlərinin siyahısını təqdim edəcəyəm.

HTTP_ACCEPT

Bu dəyişən hamısını sadalayır MIME məlumat növləri, brauzer tərəfindən şərh edilə bilər. */* xətti brauzerin istənilən növü başa düşdüyünü bildirir.

HTTP_ACCEPT= şəkil/gif, şəkil/x-xbit xəritəsi, şəkil/jpeg, şəkil/pjpeg, proqram/x-shockwave-flash, proqram/vnd.ms-excel, proqram/msword, */*

HTTP_REFERER

Bu dəyişən istifadəçinin bu səhifəyə gəldiyi səhifə haqqında məlumatı təmsil edir. Siz bu dəyişəndən, məsələn, istifadəçinin saytınızdakı hərəkətini izləmək və sonra ən populyar marşrutlara baxmaq üçün istifadə edə bilərsiniz.

HTTP_REFERER= http://www.spravkaweb.ru/php/pril/

HTTP_COOKIE

Bu dəyişən bütün URL kodlu kukiləri saxlayır.

HTTP_COOKIE= hotlog=1; ZDEDebuggerPresent=php,phtml,php3; b=b; PHPSESSID=16805922a9258cda274316e60f649cf8

HTTP_USER_AGENT

İstifadəçinin brauzerini müəyyənləşdirir. Brauzer növünü təyin etmək üçün bu sətirdə sözlərin olub-olmadığını yoxlamaq lazımdır: əgər brauzer Internet Explorer-dirsə, onda MSIE alt sətri olacaq və yalnız Mozilla sözü varsa, bu Netscape-dir.

Misal üçün:

HTTP_USER_AGENT= Mozilla/4.0 (uyğundur; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; Maxthon)

HTTP_HOST

Skriptin işlədiyi Veb serverin domen adını ehtiva edir. Bu dəyişən, məsələn, müəyyən bir serverə bağlanmamaq üçün Yer başlığında tələb olunan tam yolu yaratmaq üçün istifadə etmək üçün olduqca rahatdır.

HTTP_HOST= www.spravkaweb.ru

HTTP_FROM

Sorğunu göndərən istifadəçinin e-poçt ünvanı.

SERVER_NAME

Domen adı və ya server IP ünvanı.

SERVER_NAME= www.spravkaweb.ru

SERVER_SOFTWARE

Müştərinin sorğusuna cavab verən server proqramının adı və versiyası.

SERVER_PORT

Bu dəyişən istifadəçinin brauzerinin daxil olduğu server portunu ehtiva edir. Adətən bu 80-dir. Dəyişən Yer başlığı parametrini yaratmaq üçün də istifadə edilə bilər.

SERVER_PROTOKOL

Dəyişən sorğu üçün istifadə edilmiş məlumat protokolunun adını və versiyasını ehtiva edir.

SERVER_PROTOCOL= HTTP/1.1

REMOTE_ADDR

Bu dəyişən brauzerin işə salındığı istifadəçinin hostunun IP ünvanını (və ya domen adını) ehtiva edir.

REMOTE_PORT

Server cavabını almaq üçün istifadəçinin brauzerinə təyin edilmiş port.

REMOTE_USER

Sorğu edən istifadəçinin identifikasiya adı.

SCRIPT_NAME

Bu skripti ehtiva edən faylın adını ehtiva edir. Bu dəyişən özünüzə yönləndirərkən (özünü yönləndirmə) Məkan başlığını formalaşdırarkən, həmçinin etiketin fəaliyyət atributunun dəyərini əvəz etmək üçün istifadə etmək üçün əlverişlidir. parametrlər olmadan işə salındıqda skriptin çağırdığı səhifədə (müəyyən bir skript adına bağlanmamaq üçün).

DOCUMENT_ROOT

Veb sənəd ağacının kök kataloqu.

REQUEST_METHOD

İstifadəçinin məlumat ötürərkən istifadə etdiyi üsul. Qeyd etmək lazımdır ki, yaxşı yazılmış skript özü bu dəyişənə əsaslanaraq istifadəçinin hansı metoddan istifadə etdiyini müəyyən etməli və müvafiq mənbədən məlumat almalı və köçürmənin, məsələn, yalnız POST metodu.

QUERY_STRING

URL-də sual işarəsindən sonra görünən parametrləri ehtiva edir. Nəzərinizə çatdıraq ki, onlar həm GET, həm də POST metodları ilə mövcuddur (əgər sonuncu halda onlar etiketin fəaliyyət atributunda müəyyən edilibsə) ).

PATH_INFO

Yol haqqında əlavə məlumat ehtiva edir.

PATH_TRANSLATED

Dəyişəndə ​​olduğu kimi eyni məlumat PATH_INFO Veb sənəd ağacının kök qovluğuna gedən yolu göstərən prefikslə.

CONTENT_TYPE

Sorğunun media məlumat növü.

CONTENT_LENGTH

İstifadəçi tərəfindən göndərilən verilənlərin bayt sayını qaytarır. POST formasını qəbul edirsinizsə və emal edirsinizsə, bu dəyişən təhlil edilməlidir.

GATEWAY_INTERFACE

Serverin istifadə etdiyi CGI versiyası.

Ətraf mühit dəyişənlərindən istifadə nümunəsi

Ətraf Mühit Dəyişənləri

Ətraf Dəyişənləri:

echo "Siz buradan gəldiniz: ".getenv("HTTP_REFERER")."
";

$br=getenv("HTTP_USER_AGENT");

if(strpos($br,"MSIE")!==false) echo "Sizdə Internet Explorer var
";

else echo "Sizdə Netscape və ya başqaları var.
";

echo "Sizin IP: ".getenv("REMOTE_ADDR")."
";

echo "Budur brauzer xəttindəki parametrlər: ".getenv("QUERY_STRING");

Unix üçün proqramlaşdırma sənəti kitabından müəllif Raymond Erik Stiven

Unix üçün proqramlaşdırma sənəti kitabından müəllif Raymond Erik Stiven

Ruby-də Proqramlaşdırma kitabından [Dil ideologiyası, nəzəriyyəsi və tətbiqi təcrübəsi] Fulton Hal tərəfindən

Kitabdan HTML 5, CSS 3 və Web 2.0. Müasir veb saytların inkişafı. müəllif Dronov Vladimir

Linux Mühitində Proqram İnkişafı kitabından. İkinci nəşr müəllif Johnson Michael K.

10.4. Mühit Dəyişənləri Unix proqramı işə salındıqda, onun üçün mövcud olan mühitə ad-dəyər əlaqələri dəsti daxildir (həm adlar, həm də dəyərlər sətirlərdir). Onların bəziləri istifadəçi tərəfindən əl ilə, digərləri isə sistem tərəfindən quraşdırılır

Firebird DATABASE DEVELOPER'S GUIDE kitabından Borri Helen tərəfindən

10.4.1. Sistem Mühiti Dəyişənləri Proqramın Unix qabığından işlədilməsi zamanı əldə edə biləcəyi bir çox tanınmış mühit dəyişənləri var. Bu dəyişənlər (xüsusilə HOME) tez-tez yerli faylı oxumazdan əvvəl qiymətləndirilməlidir

Nümunələrlə Linux Proqramlaşdırma kitabından müəllif Robbins Arnold

10.4.2. Xüsusi Mühit Dəyişənləri Tətbiqlərin sistem tərəfindən müəyyən edilmiş dəstdən kənar mühit dəyişənlərini şərh etməkdə sərbəst olmasına baxmayaraq, belə funksiyanın faktiki istifadəsi hazırda olduqca qeyri-adi haldır.

Müəllifin kitabından

10.4.3. Mühit Dəyişənlərindən Nə Zaman İstifadə Edilməli Həm istifadəçi, həm də sistem mühiti dəyişənlərinin ortaq cəhəti ondadır ki, onlar çoxlu sayda konfiqurasiya fayllarında saxlamaq yorucu olacaq məlumatları ehtiva edir. Və son dərəcə yorucu

Müəllifin kitabından

14.4. Mühit Dəyişənləri Bəzən proqram və xarici dünya arasında əlaqə olan mühit dəyişənlərinə daxil olmaq lazımdır. Ətraf mühit dəyişənləri sadəcə olaraq bəzi mətnlə əlaqəli etiketlərdir (adətən kiçik); məsələn, yolları saxlayırlar

Müəllifin kitabından

Funksiyalar və dəyişənlər. Yerli Dəyişənlər Əvvəllər elan edilmiş funksiyalar öz bədənlərində öz dəyişənlərini yaradırlar. Bunlar yerli dəyişənlər adlanır. Bu cür dəyişənlərə yalnız elan olunduğu funksiya orqanında daxil olmaq mümkündür. İcra tamamlandıqda

Müəllifin kitabından

22.3.3. Mühit Dəyişənləri Setuid və ya setgid imkanlarından istifadə edən proqramlarda mühit parametrlərinə xüsusi diqqət yetirilməlidir. Bu dəyişənlər proqramı aktivləşdirən istifadəçi tərəfindən müəyyən edilir və bununla da hücumlar üçün qapı açılır. Ən açıq hücum

Müəllifin kitabından

Mühit dəyişənləri Ətraf mühit dəyişənləri əməliyyat sistemi ilkin olaraq işə salındıqda istifadə edilən qlobal sistem parametrləridir. Windows, Linux və əksər UNIX sistemlərində Firebird server müəyyən mühit dəyişənlərini tanıyır və istifadə edir, əgər onlar

Müəllifin kitabından

Windows Mühit Dəyişənlərinin təyin olunduğu yer. Mühit dəyişənlərinin növü və onların necə təyin olunduğu Windows-un bir versiyasından digərinə dəyişir. Cədvəldə Cədvəl 3.1-də ətraf mühit dəyişənlərinin növləri (əgər varsa) və dəyərlərin təyin edilməsi üsulları göstərilir. Ətraf mühit dəyişəni üçün parametrlər

Müəllifin kitabından

Fəsil 2 Arqumentlər, Seçimlər və Mühit Dəyişənləri Hər hansı bir proqramın birinci vəzifəsi adətən əmr xətti variantlarını və arqumentlərini şərh etməkdir. Bu fəsil C (və C++) proqramlarının standartı təsvir edərək öz komanda xətti arqumentlərini necə qəbul etdiyini araşdırır.



Əlaqədar nəşrlər