Home Backend Development PHP Tutorial Detailed explanation of php functions getenv(), putenv() and $_SERVER

Detailed explanation of php functions getenv(), putenv() and $_SERVER

Mar 05, 2018 am 10:35 AM
server

getenv gets the system environment variables

Syntax: string getenv(string varname);-----------The parameter varname should be $_SERVER (server super global variable array ), or use putenv("new=very new") to define new as an environment variable, so new as a parameter will have the value very new
Return value: String
Function type: PHP system function
Content description: If the environment variable varname is obtained correctly, the variable value will be returned. Returns false on failure.
Usage Example
The following example can obtain the URL of the machine where the user's browser is located

<?
$ip = getenv(“REMOTE_ADDR”);
?>
Copy after login

$_SERVER is the server's super global variable array. Use $_SERVER['REMOTE_ADDR'] to also obtain the client's IP address. .

The difference between the two is that getenv does not support php running in IIS isapi mode

putenv configures system environment variables

PHP putenv() syntax: void putenv (string setting);

Return value: None

Function type: PHP system function

Content description: This function is used to configure system environment variables.

Usage example:

Configure the environment variable NLS_LANG required for Oracle database, and the returned data contains Chinese BIG5 code.

<?
putenv("NLS_LANG=american_taiwan.zht16big5");
?>
Copy after login

Comprehensive example of putenv() and getenv()

<?php
putenv("new=very new");$is_new = getenv("new");$new="bu shi";
echo $is_new,"<br />",$new;
?>
Copy after login

Output:

very new

So from the above we can know that there is no need to be afraid of errors in our code The environment variable defined here has the same name as the environment variable defined by putenv. In this example, putenv("new=very new"); and $new="bu shi"; -----new will not go wrong.

Detailed explanation of PHP server variable $_SERVER:

Today I carefully studied the content of the manual on server variables, wrote a note, and posted it in the hope that it will be helpful to beginners.

The red ones are what I think are more commonly used and important, and the blue parts are added by me after debugging for easy understanding.

Please respect the fruits of labor when reprinting, haha, physical work is not easy to do.

Server variable $_SERVER Detailed explanation:

1, $_SESSION['PHP_SELF'] -- Get the file name of the currently executing script

2, $_SERVER['SERVER_PROTOCOL '] -- The name and version of the communication protocol when requesting the page. For example, "HTTP/1.0".

3. $_SERVER['REQUEST_TIME'] -- The timestamp when the request started. Valid since PHP 5.1.0. The effect is the same as the time function.

4, $_SERVER['argv'] -- parameters passed to the script. I tried it, and the get method can get $_SERVER['argv'][0]; the post method cannot assign a value to it.

5. $_SERVER['SERVER_NAME'] -- Returns the current host name.

6, $_SERVER['SERVER_SOFTWARE'] -- The string identifying the server, given in the header information when responding to the request. Such as Microsoft-IIS/6.0

7, $_SERVER['REQUEST_METHOD'] -- the request method when accessing the page. For example: "GET", "HEAD", "POST", "PUT".

8, $_SERVER['QUERY_STRING'] -- The string of query (the content after the first question mark ? in the URL).

9. $_SERVER['DOCUMENT_ROOT'] -- The document root directory where the currently running script is located. Defined in the server configuration file. For example, E:\server

10, $_SERVER['HTTP_ACCEPT'] -- the content of the Accept: header of the current request.

11. $_SERVER['HTTP_ACCEPT_CHARSET'] -- The content of the Accept-Charset: header information of the current request. For example: "iso-8859-1,*,utf-8".

12. $_SERVER['HTTP_ACCEPT_ENCODING'] -- The content of the Accept-Encoding: header information of the current request. For example: "gzip".

13. $_SERVER['HTTP_ACCEPT_LANGUAGE'] -- The content of the Accept-Language: header information of the current request. For example: "en".

14. $_SERVER['HTTP_CONNECTION'] -- The content of the Connection: header information of the current request. For example: "Keep-Alive".

15. $_SERVER['HTTP_HOST'] -- The content of the Host: header information of the current request.

16. $_SERVER['HTTP_REFERER'] -- URL address of the previous page linked to the current page.

17. $_SERVER['HTTP_USER_AGENT'] -- Returns the browser information used by the user. This information can also be obtained using get_browser().

18, $_SERVER['HTTPS'] -- If accessed through https, it is set to a non-empty value, otherwise it returns off.

19, $_SERVER['REMOTE_ADDR' ] -- The IP address of the user who is browsing the current page.

20. $_SERVER['REMOTE_HOST'] -- The host name of the user who is browsing the current page. Reverse domain name resolution is based on the user's REMOTE_ADDR. For example, the local test returns 127.0.0.1

21, $_SERVER['REMOTE_PORT'] -- the port used by users to connect to the server. I failed the test on this machine, I don’t know why.

22. $_SERVER['SCRIPT_FILENAME'] -- The absolute path name of the currently executing script. For example, E:\server\index.php

23, $_SERVER['SERVER_ADMIN'] -- this value indicates the SERVER_ADMIN parameter in the Apache server configuration file. If the script is running on a virtual host, this value is the value of that virtual host

24, $_SERVER['SERVER_PORT'] -- The port used by the server. Default is "80". If using SSL secure connection, this value is the HTTP port set by the user.

25, $_SERVER['SERVER_SIGNATURE'] -- a string containing the server version and virtual host name.

26. $_SERVER['PATH_TRANSLATED'] -- The base path of the file system (not the document root directory) where the current script is located. This is the result after the server has been imaged from a virtual to real path. Apache 2 users can define PATH_INFO using AcceptPathInfo On in httpd.conf.

27, $_SERVER['SCRIPT_NAME'] -- contains the path of the current script. This is useful when the page needs to point to itself. __FILE__ contains the absolute path and file name of the current file (such as an include file).

28, $_SERVER['REQUEST_URI'] -- The URI required to access this page. For example, "/index.html".

29. $_SERVER['PHP_AUTH_DIGEST'] -- When running as an Apache module, during the HTTP Digest authentication process, this variable is set to the "Authorization" HTTP header content sent by the client (in order to further authentication operations).

30, $_SERVER['PHP_AUTH_USER']--When PHP is running in Apache or IIS (PHP 5 is ISAPI) module mode, and the HTTP authentication function is being used, this variable is the user name entered by the user. .

31. $_SERVER['PHP_AUTH_PW'] -- When PHP is running in Apache or IIS (PHP 5 is ISAPI) module mode and the HTTP authentication function is being used, this variable is the password entered by the user.

32. $_SERVER['AUTH_TYPE']--When PHP is running in Apache module mode and the HTTP authentication function is being used, this variable is the authentication type.

Related recommendations:

php function getenv() and putenv() and $_SERVER_PHP tutorial

The above is the detailed content of Detailed explanation of php functions getenv(), putenv() and $_SERVER. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to install, uninstall, and reset Windows server backup How to install, uninstall, and reset Windows server backup Mar 06, 2024 am 10:37 AM

WindowsServerBackup is a function that comes with the WindowsServer operating system, designed to help users protect important data and system configurations, and provide complete backup and recovery solutions for small, medium and enterprise-level enterprises. Only users running Server2022 and higher can use this feature. In this article, we will explain how to install, uninstall or reset WindowsServerBackup. How to Reset Windows Server Backup If you are experiencing problems with your server backup, the backup is taking too long, or you are unable to access stored files, then you may consider resetting your Windows Server backup settings. To reset Windows

Windows Server 2025 preview version welcomes update, Microsoft improves Insiders testing experience Windows Server 2025 preview version welcomes update, Microsoft improves Insiders testing experience Feb 19, 2024 pm 02:36 PM

On the occasion of releasing the build 26040 version of Windows Server, Microsoft announced the official name of the product: Windows Server 2025. Also launched is the Windows11WindowsInsiderCanaryChannel version build26040. Some friends may still remember that many years ago someone successfully converted Windows NT from workstation mode to server mode, showing the commonalities between various versions of Microsoft operating systems. Although there are clear differences between Microsoft's current version of the server operating system and Windows 11, those who pay attention to the details may be curious: why Windows Server updated the brand,

How to modify the Nginx version name to disguise any web server How to modify the Nginx version name to disguise any web server May 14, 2023 pm 09:19 PM

How to modify the default name of nginx, you can disguise it a little, or you can install Tip: Generally, modifications are made before nginx is compiled. After modification, the code needs to be recompiled as follows: scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n

Microsoft releases Windows Server vNext preview version 25335 Microsoft releases Windows Server vNext preview version 25335 Jan 10, 2024 am 08:49 AM

While Microsoft released the Win11 preview update for the desktop, today it also released the Windows Server Long Term Service Channel (LTSC) preview Build 25335. As usual, Microsoft did not publish a complete change log, or even provide a corresponding blog post. Microsoft has adjusted the Windows Server preview version update log to make it the same as the Canary channel version. If no new content is introduced, the official blog post will not be posted. Note from IT Home: The server brand has not been updated and is still Windows Server 2022 in the preview version. In addition, Microsoft calls these versions Windows Server vNext instead of the Windows version that is already on the market.

Microsoft releases Windows Server 26080 preview update: Fixes Feedback Hub failure Microsoft releases Windows Server 26080 preview update: Fixes Feedback Hub failure Mar 14, 2024 pm 07:11 PM

IT House reported on March 14 that in addition to the Windows 11 Build 26080 preview update for the desktop, Microsoft also updated and launched the Windows Server Build 26080 preview update. As the latest preview version of the upcoming Windows Server Long Term Servicing Channel (LTSC), Windows Server Build 26080 provides Data Center Edition and Standard Edition, and users can choose desktop experience and Server Core installation options. This release also includes an annual channel for container hosts, and an Azure release specifically for virtual machine evaluation. IT House queries X social media. User feedback clicks the Copilot button in the lower right corner.

What is the matching logic of Server and Location in Nginx? What is the matching logic of Server and Location in Nginx? May 12, 2023 am 11:10 AM

Server matching logic When nginx determines which server block to execute a request, it mainly focuses on the listen and server_name fields in the server block. The listen command listen field defines the IP and port of the server response. If the listen field is not explicitly configured, the default listening 0.0.0.0:80 (root) or 0.0.0.0:8080 (non-root) listen can be configured as: a combination of ip and port, a single ip, listening on port 80 by default, a single port, and listening on all ip interfaces by default A unixsocket path where the last entry is usually only used in different

Steps to install GNOME 3 on Ubuntu Server 11.04 Steps to install GNOME 3 on Ubuntu Server 11.04 Dec 31, 2023 pm 03:59 PM

If you think there is no need to install a graphical interface when installing Ubuntu Server 11.04, let alone GNOME 3, which is not yet complete. . Or it should be built with ARCH+GNOME3. So please don't waste your time reading any more. It took 2 nights and a day and reinstalled N times. Finally something has come of it. It's not easy. Without further ado, let’s get to the point: Hardware: One ThinkPad (For X61) 2. Enter the boot options interface, select USB boot, and then choose to install Ubu

How to start, stop and restart the Windows Server Backup service How to start, stop and restart the Windows Server Backup service Mar 06, 2024 pm 10:25 PM

If you need to restart the WindowsServerBackup service, just follow the steps below. You can use a method to start and stop the Windows Server Backup service in almost all versions of Windows Server. Here we will discuss the entire process so that you can easily follow it if needed. How to restart the Windows Server Backup service This process consists of two main stages. First, you should be familiar with how to start the Windows Server Backup service. Next, you can learn the steps on how to stop the service. If the service is already running in the background, you can use another method to kill the process.

See all articles