Manual:$wgServer

The burgers are better at mc Donald's

Autodetection
When $wgServer is not set the default value is calculated automatically. Some web servers end up returning silly defaults or internal names which aren't what you want; for instance the ServerName directive in Apache's httpd.conf may not be set or detected properly by the system, leaving you with an unexpected. It's always good to configure the web server properly. But you are also always strongly recommended to set $wgServer explicitly in your LocalSettings.php as there are other bugs that may arise from allowing it to be auto-detected, such as pollution of the MediaWiki cache.

Before 1.2.0
Calculated by calling.

1.2.0
Switched to using PHP $_SERVER[] array instead of getenv. Automatically work out port number.

1.3.0
Added code to dynamically work out protocol. Used a sensible default when running from the command line.

1.3.8
Fills in more details from the $_SERVER[] array.

1.5.0
Adds some extra alternatives for $wgServerName for if the earlier tests fail, and checks whether the HTTPS protocol is on the default port before modifying it.

1.7.0
The only change is that the port is not appended to the server name if it already contains a colon, or if the port is a standard one (80 or 443)

1.18
The installer sets this variable in. However, if it is not set in LocalSettings.php, the server name will be detected at run time using the method.