# Network Functions

## Introduction

## Requirements

No external libraries are needed to build this extension.

## Installation

There is no installation needed to use these functions; they are part of the PHP core.

## Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

Network Configuration Options
Name | Default | Changeable | Changelog
--- | --- | --- | ---
define_syslog_variables | "0" | PHP_INI_ALL |

For further details and definitions of the PHP_INI_* constants, see the php.ini directives.

Here's a short explanation of the configuration directives.

`define_syslog_variables` boolean

  Whether or not to define the various syslog variables (e.g. $LOG_PID, $LOG_CRON, etc.). Turning it off is a good idea performance-wise. At runtime, you can define these variables by calling define_syslog_variables().

## Resource Types

This extension defines a file pointer resource returned by fsockopen() and pfsockopen().

## Predefined Constants

The constants below are always available as part of the PHP core.

openlog() Options
Constant | Description
--- | ---
LOG_CONS | if there is an error while sending data to the system logger, write directly to the system console
LOG_NDELAY | open the connection to the logger immediately
LOG_ODELAY | (default) delay opening the connection until the first message is logged
LOG_NOWAIT |
LOG_PERROR | print log message also to standard error
LOG_PID | include PID with each message

openlog() Facilities
Constant | Description
--- | ---
LOG_AUTH | security/authorization messages (use LOG_AUTHPRIV instead in systems where that constant is defined)
LOG_AUTHPRIV | security/authorization messages (private)
LOG_CRON | clock daemon (cron and at)
LOG_DAEMON | other system daemons
LOG_KERN | kernel messages
LOG_LOCAL0 ... LOG_LOCAL7 | reserved for local use, these are not available in Windows
LOG_LPR | line printer subsystem
LOG_MAIL | mail subsystem
LOG_NEWS | USENET news subsystem
LOG_SYSLOG | messages generated internally by syslogd
LOG_USER | generic user-level messages
LOG_UUCP | UUCP subsystem

syslog() Priorities (in descending order)
Constant | Description
--- | ---
LOG_EMERG | system is unusable
LOG_ALERT | action must be taken immediately
LOG_CRIT | critical conditions
LOG_ERR | error conditions
LOG_WARNING | warning conditions
LOG_NOTICE | normal, but significant, condition
LOG_INFO | informational message
LOG_DEBUG | debug-level message

dns_get_record() Options
Constant | Description
--- | ---
DNS_A | IPv4 Address Resource
DNS_MX | Mail Exchanger Resource
DNS_CNAME | Alias (Canonical Name) Resource
DNS_NS | Authoritative Name Server Resource
DNS_PTR | Pointer Resource
DNS_HINFO | Host Info Resource (See IANA's » Operating System Names for the meaning of these values)
DNS_SOA | Start of Authority Resource
DNS_TXT | Text Resource
DNS_ANY | Any Resource Record. On most systems this returns all resource records, however it should not be counted upon for critical uses. Try DNS_ALL instead.
DNS_AAAA | IPv6 Address Resource
DNS_ALL | Iteratively query the name server for each available record type.

## Table of Contents

- checkdnsrr — Check DNS records corresponding to a given Internet host name or IP address
- closelog — Close connection to system logger
- debugger_off — Disable internal PHP debugger (PHP 3)
- debugger_on — Enable internal PHP debugger (PHP 3)
- define_syslog_variables — Initializes all syslog related constants
- dns_check_record — Alias of checkdnsrr
- dns_get_mx — Alias of getmxrr
- dns_get_record — Fetch DNS Resource Records associated with a hostname
- fsockopen — Open Internet or Unix domain socket connection
- gethostbyaddr — Get the Internet host name corresponding to a given IP address
- gethostbyname — Get the IP address corresponding to a given Internet host name
- gethostbynamel — Get a list of IP addresses corresponding to a given Internet host name
- getmxrr — Get MX records corresponding to a given Internet host name
- getprotobyname — Get protocol number associated with protocol name
- getprotobynumber — Get protocol name associated with protocol number
- getservbyname — Get port number associated with an Internet service and protocol
- getservbyport — Get Internet service which corresponds to port and protocol
- header — Send a raw HTTP header
- headers_list — Returns a list of response headers sent (or ready to send)
- headers_sent — Checks if or where headers have been sent
- inet_ntop — Converts a packed internet address to a human readable representation
- inet_pton — Converts a human readable IP address to its packed in_addr representation
- ip2long — Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address
- long2ip — Converts an (IPv4) Internet network address into a string in Internet standard dotted format
- openlog — Open connection to system logger
- pfsockopen — Open persistent Internet or Unix domain socket connection
- setcookie — Send a cookie
- setrawcookie — Send a cookie without urlencoding the cookie value
- socket_get_status — Alias of stream_get_meta_data
- socket_set_blocking — Alias of stream_set_blocking
- socket_set_timeout — Alias of stream_set_timeout
- syslog — Generate a system log message