ich hab die Xampp Windows Version 1.6.2 was bei mir unter XP mit SP2 läuft, installiert. Die Installation war überhaupt kein Problem, da ich dies in der Vergangenheit schon des öfteren gemacht habe. Aber nun hab ich ein Anliegen, wo ich seit einigen Tagen nicht mehr mit klar komme.
Ich benutze Xampp vorwiegend als vBulletin Testforum, wo ich eigene Erweiterungen schreiben und auch testen kann und diese dann später in meinem Online Forum übernehmen kann. Also alles sozusagen als "Test Plattform". Ferner hab ich noch eine Galerie "PhotoPlog" und hier fängt das eigentliche Problem an, wo ich wirklich nicht mehr mit klar komme...
Diese Galerie hat im neuesten Update die EXIF Erweiterung in Form des Windows Programmes "Jhead.exe". In dieser Galerie wird nur der Pfad zu JHEAD.EXE gesetzt und sollte dann auch laufen. Nun, es läuft bei mir ums verrecken nicht. Dann hab ich mich mal hingesetzt und einige PHP Scripte geschrieben um zu testen, ob die Datei überhaupt funktioniert oder ausführbar ist, was mir überall positiv bestätigt wurde...
Ergebnis: True
- Code: Select all
<?php
// Function returns TRUE (1) if the file is executable
echo is_executable("D:/Applications/Web Server/xampp/htdocs/vbulletin/upload/photoplog/jhead/jhead.exe");
?>
Hier fast das gleiche. Ergebnis: Ausführbar
- Code: Select all
<?php
$file = "D:/Applications/Web Server/xampp/htdocs/vbulletin/upload/photoplog/jhead/jhead.exe";
if(is_executable($file))
{
echo ("$file is executable");
}
else
{
echo ("$file is not executable");
}
?>
Ergebnis: Eigentlich sollte alles gehen?
- Code: Select all
<?php
if (!file_exists('D:\Applications\Web Server\xampp\htdocs\vbulletin\upload\photoplog\jhead\jhead.exe'))
{
die('Na nu, die Datei existiert angeblich nicht!');
}
if (!is_readable('D:\Applications\Web Server\xampp\htdocs\vbulletin\upload\photoplog\jhead\jhead.exe'))
{
die('Hmm, die Datei existiert - aber ist nicht lesbar');
}
echo('Eigentlich sollte alles gehen?');
?>
Nun wird interessant: Ich dachte immer, das in Xampp die PHP shell_exec() Funktion nicht funktioniert. Dieses Script beweist, das es funktioniert...
- Code: Select all
<?php
$runCommand = "D:\\Applications\\Web Server\\xampp\\htdocs\\vbulletin\\upload\\photoplog\\jhead\\jhead.exe -V";
$WshShell = new COM("WScript.Shell");
$output = $WshShell->Exec($runCommand)->StdOut->ReadAll;
echo "<p>$output</p>";
?>
So, alles überprüft und getestet, aber trotzallerdem kann ich die Datei JHEAD.EXE innerhalb der Galerie nicht aufrufen. Respektive: Es werden die EXIF Informationen partou nicht angezeigt. Auf meinem Online Server (Linux) funktioniert die JHEAD Erweiterung tadellos - bei mir auf dem XP Rechner nicht. Ich hab nun wirklich alle Einstellungen angefangen von den Diensten bis zu den NTFS Rechten der JHEAD Datei überprüft. Es ist nix zu machen. Dann bin ich noch einen Schritt weiter gegangen und hab geprüft, ob sich Windows Programme (Notepad.exe) unter Xampp ausführen lassen, was auch hier tadellos funktioniert...
- Code: Select all
<?php
exec('D:\Windows\notepad.exe');
?>
Wenn ich aber folgendes Script mit Jhead.exe teste...
- Code: Select all
exec('D:\Applications\Web Server\xampp\htdocs\vbulletin\upload\photoplog\jhead\jhead.exe');
funktioniert genau das hier nicht! Das heißt: Ich seh auf dem Bildschirm nichts! Sämliche Xampp Eintellungen (php.ini / httpd.conf) wurden von mir niemals verändert. Es ist alles so in der Grundeinstellung geblieben, was man so für die Entwicklung der Programme benötigt.
Meine Frage ist: Was genau ist denn hier falsch? In anderen Foren wurde mir gesagt, das vermutlich die PHP shell_exec Funktion nicht funktioniert, was ich aber nicht glaube. Also wenn mir jemand von Euch hier aus dieser Misere befreien könnte, wäre ich demjenigen wirkich sehr dankbar. Ich komm hier einfach nicht mehr weiter! Gruß aus Köln! -Micha