Hi GMG,
Ich habe nun die magic.mime in das Verzeichnis kopiert und auch in der php.ini entsprechend verlinkt, aber das Ergebnis ist immer noch das selbe.
Wie verwendest du PHP?
Verwendest du PHP als Apache-Modul? Dann musst du nach Änderungen an der php.ini den Apache neustarten, gleiches gilt für einen anderen Webserver, der PHP als Modul verwendet.
Verwendest du PHP über FastCGI? Dann musst du alle PHP Prozesse beenden und neu starten, was du am leichtesten ebenfalls über einen Neustart des Webservers erlangst.
Lediglich wenn du PHP über CGI eingebunden hast, musst du nichts neu starten.
Hast du die richtige php.ini editiert? Bzw. liegt die php.ini am richtigen Ort, so dass PHP diese auch einliest? Wenn die php.ini am falschen Ort liegt, kannst du in die php.ini natürlich schreiben was du willst, ohne dass es irgendwelche Auswirkungen hat.
Hast du in der Ausgabe von phpinfo() geprüft, ob die Konfiguration korrekt übernommen wurde? Sonst schau dir mal an, was ini_get('mime_magic.magicfile') ausgibt, ist der Pfad korrekt? Hast du den Pfad absolut angegeben und nicht relativ?
Was hat es damit auf sich? "You must compile PHP with the configure switch --with-mime-magic to get support for mime-type functions"
Das bedeutet, dass du dem Configure-Script die Option "--with-mime-magic" mitgeben musst, wenn du dir PHP selbst installierst. Dadurch wird das Module mime-magic fest in PHP eingebunden (d.h. es ist fester Bestandteil der php.exe unter Windows, bzw. php unter Unix und steht somit immer zur Verfügung). Alternativ kannst du (das gilt für fast alle Module und ist daher auf der Seite nicht extra erwähnt) auch "--with-mime-magic=shared" angeben, dann wird dir eine .dll (Windows) oder .so (Unix) erstellt, ein Modul, welches du dynamisch in PHP laden kannst.
Für dich ist dies aber irrelevant, weil du dein PHP ja (davon gehe ich mal aus) nicht selber kompilierst, sondern die fertigen Windows-Binaries von php.net verwendest und nur das entsprechende Modul laden willst.
Der Grund hierfür ist, dass mein Hoster Fileinfo erst ab PHP 5.3 unterstützen wird, momentan aber noch PHP 5.2 dort läuft. Deshalb wll ich einen Switch einbauen, der je nach Verfügbarkeit eine der beiden Funktionen verwendet.
Ok, das ist für eine Anwendung, welche portabel sein soll, sinnvoll.
Viele Grüße,
~ Dennis.