$session->getIP() method

Get the IP address of the current user


$ip = $session->getIP();
echo $ip; // outputs 111.222.333.444


// basic usage
$string = $session->getIP();

// usage with all arguments
$string = $session->getIP(bool $int = false, $useClient = false);


int (optional)bool

Return as a long integer? (default=false)

  • IPv6 addresses cannot be represented as an integer, so please note that using this int option makes it return a CRC32 integer when using IPv6 addresses (3.0.184+).
useClient (optional)bool, int

Give preference to client headers for IP? HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR (default=false)

  • Specify integer 2 to include potential multiple CSV separated IPs (when provided by client).

Return value

string int

Returns string by default, or integer if $int argument indicates to.

$session methods and properties

API reference based on ProcessWire core version 3.0.185

Twitter updates

  • ProcessWire 3.0.185 (dev) core updates, plus new Session Allow module— More
    17 September 2021
  • Three new ProcessWire Textformatter modules: Find/Replace, Markdown in Markup, and Emoji— More
    3 September 2021
  • This week we have a new master version released after a year in the making. With nearly 40 pull requests, hundreds of new additions and more than 100 issue reports resolved, this new version has a ton of great new stuff— More
    27 August 2021

Latest news

  • ProcessWire Weekly #388
    In the 388th issue of ProcessWire Weekly we'll check out the latest core update, introduce two new third party modules, and more. Read on!
    Weekly.pw / 16 October 2021
  • ProcessWire 3.0.184 new master/main version
    This week we have a new master/main version released after a full year in the making. As you might imagine, this new version has a ton of great new stuff and we’ll try to cover much of it here.
    Blog / 27 August 2021
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK