2016-09-12 2 views
1

Ich bin mit PHP integrierten Web-Server für die lokale Entwicklung eines Projekts, etwa so:PHP integrierte Server-Hosting-Webfonts

$ php -S localhost:8000 -t web/ 

Im Inneren des web Verzeichnis ist FontAwesome (ein Symbol WebFont) und eine Webseite mit korrekten Includes und Klassen. Die Schriftart wird nicht korrekt angezeigt, wenn sie lokal bedient wird.

Die 'Netzwerk' Entwickler Registerkarte in einem Browser zeigt die Schriftart korrekt vom Server geladen:

200 GET http://localhost:8000/fonts/fontawesome-webfont.woff2?v=4.6.3 

jedoch die Antwort-Header Content-type: application/octet-stream enthält, wenn (ich glaube) sie should be returningContent-type: application/font-woff usw.

Sind Gibt es eine Möglichkeit, Web-Fonts mit dem integrierten Web-Server von PHP zu bedienen? Vielleicht benutzerdefinierte MIME-Typen hinzufügen?

Antwort

1

Von the docs:

Wenn eine PHP-Datei auf der Kommandozeile angegeben wird, wenn der Web-Server gestartet wird es als „Router“ Skript behandelt wird. Das Skript wird zu Beginn jeder HTTP-Anfrage ausgeführt. Wenn dieses Skript FALSE zurückgibt, wird die angeforderte Ressource unverändert zurückgegeben. Andernfalls wird die Ausgabe des Skripts an den Browser zurückgegeben.

$ php -S localhost:8000 router.php 

Probe router.php für zusätzliche MIME-Typen hinzufügen, nicht nativ von der php cli Webserver unterstützt wie folgt aussieht:

<?php 
// router.php 
$path = pathinfo($_SERVER["SCRIPT_FILENAME"]); 
if ($path["extension"] == "el") { 
    header("Content-Type: text/x-script.elisp"); 
    readfile($_SERVER["SCRIPT_FILENAME"]); 
} else { 
    return FALSE; 
} 
?> 

Meine eigene router.php Datei aus, einschließlich Font-Ehrfürchtig sieht wie folgt aus:

Denken Sie daran, dass Sie das Router-Skript nicht bereitstellen müssen, es ist nur für die lokale Entwicklung erforderlich.

Verwandte Themen