Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

lmlsna
Copy link

@lmlsna lmlsna commented Mar 24, 2025

…print statement

When starting the local server using the server:start or local:server:start commands, a console success message is printed that displays the PHP version, port, and listening IP address.

The address that is printed is hard-coded to display 127.0.0.1. The --listen-ip option allows the listening IP to be set to any IP the interface has, and the --allow-all-ip option effectively sets the listening IP to the "all IPs" address (0.0.0.0 for IPv4 and [::] for IPv6).

This change creates an address variable that is equal to the --listen-ip option value (which defaults to 127.0.0.1 if not set) or 0.0.0.0 if --allow-all-ip is passed.

The corrected debug statement makes it clear that these options were correctly applied by the user and eliminates the situation (that I experienced) where I believed the server was only listening on localhost and I was somehow not specifying the --listen-ip option correctly (until I called netstat to check what IP it was actually listening on.

…print statement

When starting the local server using the `server:start` or `local:server:start` commands, a console success message is printed that displays the PHP version, port, and listening IP address.

The address that is printed is hard-coded to display 127.0.0.1. The `--listen-ip` option allows the listening IP to be set to any IP the interface has, and the `--allow-all-ip` option effectively sets the listening IP to the "all IPs" address (0.0.0.0 for IPv4 and [::] for IPv6).

This change creates an `address` variable that is equal to the `--listen-ip` option value (which defaults to 127.0.0.1 if not set) or 0.0.0.0 if `--allow-all-ip` is passed.

The corrected debug statement makes it clear that these options were correctly applied by the user and eliminates the situation (that I experienced) where I believed the server was only listening on localhost and I was somehow not specifying the `--listen-ip` option correctly (until I called `netstat` to check what IP it was actually listening on.
msg := "Web server listening\n"
if p.PHPServer != nil {
msg += fmt.Sprintf(" The Web server is using %s %s\n", p.PHPServer.Version.ServerTypeName(), p.PHPServer.Version.Version)
}
msg += fmt.Sprintf("\n <href=%s://127.0.0.1:%d>%s://127.0.0.1:%d</>", scheme, port, scheme, port)
msg += fmt.Sprintf("\n <href=%s://%s:%d>%s://%s:%d</>", scheme, address, port, scheme, address, port)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this implementation will show an unreachable address when the address is 0.0.0.0 so I’m wondering if we should not display a completely different message in such case.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, true, this link would be broken, didn't even think of that.

Perhaps leave the href= set to localhost but display the 0.0.0.0 link text in such situations?
Alternatively, but a bit more complicated, use the host name/domain of the machine for the href= ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using the hostname or domain seems fragile as they might not resolve to the IP selected by the user (and adds the complexity of discovering them for an edge case).

I believe it's best to use a different message or remove the link when we listen on all available IP.

(To be noted, we already show the domain names attached to the proxy)

lmlsna and others added 2 commits March 24, 2025 22:40
(my bad)

Co-authored-by: Tugdual Saunier <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants