Bootstrap FreeKB - PHP - Debugging using print_r
PHP - Debugging using print_r

Updated:   |  PHP articles

The print_r and var_dump functions can be used to display the output of a variable. This is often used with built in PHP variables, such as the $_SERVER variable.

<?php
  print_r ($_SERVER);
?>

 

Which should return something like this.

Array ( [HOSTNAME] => 78e0ca90f5c9 [PHP_INI_DIR] => /usr/local/etc/php [HOME] => /var/www [PHP_LDFLAGS] => -Wl,-O1 -pie [PHP_CFLAGS] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 [PHP_VERSION] => 8.1.1 [GPG_KEYS] => 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD [PHP_CPPFLAGS] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 [PHP_ASC_URL] => https://www.php.net/distributions/php-8.1.1.tar.xz.asc [PHP_URL] => https://www.php.net/distributions/php-8.1.1.tar.xz [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [PHPIZE_DEPS] => autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c [PWD] => /var/www/html [PHP_SHA256] => 33c09d76d0a8bbb5dd930d9dd32e6bfd44e9efcf867563759eb5492c3aff8856 [USER] => www-data [HTTP_CONNECTION] => close [HTTP_X_FORWARDED_FOR] => 192.168.0.104 [HTTP_COOKIE] => PHPSESSID=7a85b23b205b725839b8b15fa4761e6a; PHPSESSID=m2sea5hqvdr6krn6ruiq5uruo5 [HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.9 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [HTTP_CACHE_CONTROL] => max-age=0 [HTTP_HOST] => stage.freekb.net [REDIRECT_STATUS] => 200 [SERVER_NAME] => test.freekb.net [SERVER_PORT] => 18085 [SERVER_ADDR] => 172.17.0.4 [REMOTE_PORT] => 36304 [REMOTE_ADDR] => 192.168.0.5 [SERVER_SOFTWARE] => nginx/1.21.3 [GATEWAY_INTERFACE] => CGI/1.1 [REQUEST_SCHEME] => http [SERVER_PROTOCOL] => HTTP/1.1 [DOCUMENT_ROOT] => /var/www/shared_resources [DOCUMENT_URI] => /50x.php [REQUEST_URI] => /50x.php [SCRIPT_NAME] => /50x.php [CONTENT_LENGTH] => [CONTENT_TYPE] => [REQUEST_METHOD] => GET [QUERY_STRING] => [SCRIPT_FILENAME] => /var/www/shared_resources/50x.php [FCGI_ROLE] => RESPONDER [PHP_SELF] => /50x.php [REQUEST_TIME_FLOAT] => 1640596957.988 [REQUEST_TIME] => 1640596957 [argv] => Array ( ) [argc] => 0 )

 

Or, specific elements can be printed, like this.

echo "Server Port = " . $_SERVER[SERVER_PORT] . "<br />";

 

Which will return the following.

Server Port = 80

 

Or you can loop through the array and print the keys and values.

foreach ($_SERVER as $key => $value) {
  echo $key . ' = ' . $value . '<br \>';
}

 

Which should return the following.

USER = apache
HOME = /usr/share/httpd
HTTP_COOKIE = PHPSESSID=fmj2eh6igjs10ads9h75r8hs6b
HTTP_ACCEPT_LANGUAGE = en-US,en;q=0.9
HTTP_ACCEPT_ENCODING = gzip, deflate
HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
HTTP_UPGRADE_INSECURE_REQUESTS = 1
HTTP_CACHE_CONTROL = max-age=0
HTTP_CONNECTION = keep-alive
HTTP_HOST = www.example.com
PATH_INFO =
SCRIPT_FILENAME = /var/www/www/Stage1.php
REDIRECT_STATUS = 200
SERVER_NAME = www.freekb.net
SERVER_PORT = 80
SERVER_ADDR = 10.5.89.231
REMOTE_PORT = 56292
REMOTE_ADDR = 10.17.6.34
SERVER_SOFTWARE = nginx/1.20.1
GATEWAY_INTERFACE = CGI/1.1
REQUEST_SCHEME = http
SERVER_PROTOCOL = HTTP/1.1
DOCUMENT_ROOT = /var/www/www
DOCUMENT_URI = /Stage1.php
REQUEST_URI = /Stage1.php
SCRIPT_NAME = /Stage1.php
CONTENT_LENGTH =
CONTENT_TYPE =
REQUEST_METHOD = GET
QUERY_STRING =
FCGI_ROLE = RESPONDER
PHP_SELF = /Stage1.php
REQUEST_TIME_FLOAT = 1626684305.9486
REQUEST_TIME = 1626684305

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter c067d2 in the box below so that we can be sure you are a human.