lokale host und die Portnummer in Server-variable
Habe ich Folgendes snippet, dass ich geblieben bin, wie, um herauszufinden, bekommen Sie die port-Nummer, so das Ergebnis, "drehen" aus richtigen wie erwartet.
$server_list = array(
"localhost:8282" => array("test" => FALSE, "site_id" => "flyToHeaven"),
);
$server_name = $_SERVER["SERVER_NAME"];
if (!isset($server_list[$server_name])) {
$server_name = "unknown";
print "unknown server name!!";
exit();
ich immer "Unbekannter Server-Name" in der Ausgabe. Wenn ich löschen Sie die port-Nummer nach localhost dann ist der Fehler anders ist, was bedeutet, dass es übergeben das 'wenn' - Bedingung. Jede Hilfe bitte ....
- Versuchen echo
$_SERVER['SERVER_NAME']
um zu sehen, was es enthält... - Es zeigt nur der localhost, und dort für die Wenn führt ein Missverhältnis im Vergleich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube was du suchst ist eine Kombination von
$_SERVER['SERVER_NAME']
und$_SERVER['SERVER_PORT']
, die standardmäßig auf port 80.Versuchen Sie dies:
Quelle: http://www.php.net/manual/en/reserved.variables.server.php
Ich bin mit
$_SERVER['HTTP_HOST']
gibt mir server-name::port-Nummer. Die Dokumentation sagt, dass dies "der Inhalt des Host: - headers der aktuellen Anforderung, sofern es eine gibt".Meine runtime-Umgebung ist der apache läuft auf Linux und PHP 5.4 und dies hat immer funktioniert.
$_SERVER['SERVER_NAME']
werden nur die Namen der server.Wenn Sie mit der Eingabe in
http://localhost:8282
im browser,erhalten Sie
'localhost'
als der Wert des$_SERVER['SERVER_NAME']
.Wenn Sie möchten, um den Anforderungs-port, den Sie verwenden möchten
$_SERVER['SERVER_PORT']
. Wenn Sie kombinieren diese beiden etwa so:dann bekommen Sie so etwas näher an, was Sie wollen.
Ich würde vorschlagen, Sie betrachten die $_SERVER Handbuch für alle details.