AW: mime_magic
Danke für den Denkanstoß.
Bin das ganze jetzt mal etwas methodischer vorgegangen.
Als erstes habe ich die aktuelle Version von php5 (5.2.5) heruntergeladen, entpackt und geschaut was es überhaupt für die Option magic mime haben will:
Code:
./configure --help | grep magic
Als Ausgabe:
Code:
--with-mime-magic[=FILE]
Include mime_magic support (DEPRECATED!!)
Also zwei interessante Sachen. Zum einen will er die magic mime Pfad-Datei haben. Als nächstes lehnt er die Option (depricated) auch noch ab. Wieso das?
Ein kurzes googlen bringt mich auf:
PHP ref mime_magic
Diese bringen die Begründung weswegen magic_mime abgelehnt wird:
This extension has been deprecated as the PECL extension Fileinfo provides the same functionality (and more) in a much cleaner way.
Gut, also vergessen wir magic mime und wechseln lieber zu Fileinfo.
Leider ist die Installation von fileinfo via pear nicht ganz so unkritisch:
Code:
lisa:~ # pear5 install pecl/fileinfo
downloading Fileinfo-1.0.4.tgz ...
Starting to download Fileinfo-1.0.4.tgz (5,835 bytes)
.....done: 5,835 bytes
3 source files, building
running: phpize
sh: phpize: command not found
ERROR: `phpize' failed
Dann schnell phpize installieren. Dieses Programm befindet sich in dem php5-devel Paket und lässt sich somit bequem über yast installieren.
Im Apache Folder (/etc/apache2/) liegt eine magic Datei. Diese muss nach /usr/share/file/ und /usr/local/share/file/ kopiert werden.
Der nächste Schritt wird etwas knifflig. Wir benötigen noch das libmagic-dev Paket welches leider in keinem rpm von suse enthalten ist. Dazu können wir aber das Debian Paket nehmen. Erhältlich ist es hier:
Debian -- Details of package libmagic-dev in sid
Dort dann, seiner CPU und dem System entsprechend libmagic runterladen.
Damit wir schnell und unkompliziert die benötigten Sachen extrahieren können benötigen wir den mc (midnightcommander) sowie die pakete apt und dpkg (unter yast die Pakete apt und deb).
Den MidnightCommander via "mc" öffnen und die libmagicdatei auswählen. Nun befindet man sich innerhalb des deb Paketes. Dort dann in den Ordner "CONTENTS/" wechseln. Dort den Ordner /usr in das Wurzelverzeichnis / verschieben.
Erneut ausführen des Scripts:
Code:
pear5 install pecl/fileinfo
und es sollte geklappt haben.
Unter Umständen meckert er noch rum das autoconf fehlt. Dieses befindet sich im Paket: autoconf
und kann auch via yast installiert werden.
Zusätzlich noch gcc installieren da er auch sonst weiterhin Fehlermeldungen ausspuckt.
Als letzten Schritt ist es nur noch nötig zu überprüfen, ob die extension in der php.ini steht. Diese befindet sich defaultmäßig unter:
/etc/php5/apache2/php.ini
Falls die extension nicht eingetragen sein sollte dann bitte nachtragen:
extension=fileinfo.so
Apache neu starten und voila. fileinfo, die bessere Alternative zu mime_magic ist verfügbar.
Danke Rain_Maker, ohne deine Aussagen hätte ich jetzt einfach mal die Sourcen installiert.