Hallo Christoph,
danke für deine Antworten.
Wow.
Ja, nicht.
Die Variable $command hat dann diese Form:
'../xfc/xslutil -v ../docbookhtml/manual-1-1.html ../docbook/manual-1-1.xml ../docbookxslt/mydocbookhtml.xsl'Nö, hat sie nicht (scheint mir so, es sei denn, $docbookpara hätte den Wert "-v"). Du klebst sie aus fünf Bestandteilen (Variablen) zusammen, gibst hier aber nur vier an ;-p
Und ich habe erstmal Mühe, herauszufinden, ob der resultierende String überhaupt in dieser Form an exec() übergeben werden darf.
Genau das steht im String $command, den man durch Angabe von echo $command erhält und den exec() zum ausführen erhält. Dabei ist es doch eigentlich wurscht, ob 5 Variablen, auch 5 Parameter ergeben. Wie gesagt, unter Windows funzt es so. In diesem Fall ist es so, dass $docbookpara = "-v" ist. Kann man ja auch weg lassen. Dann siehts halt so aus:
'../xfc/xslutil ../docbookhtml/manual-1-1.html ../docbook/manual-1-1.xml ../docbookxslt/mydocbookhtml.xsl'
$docbookpara ist in diesem Fall leer. Es gibt aber weitere Fälle, in dem er gesetzt ist.
Vielleicht hilft es dir, im PHP-Handbuch nachzulesen, was exec() tut.
Nee, nicht wirklich. Ich kenne das PHP-Manual und konsultiere es, um u.a. nach geeigneten Funktionen zu suchen. exec ist eine Möglichkeit. Es gibt auch andere Funktionen zur Programmausgabe, die ebenfalls nichts ausgeben.
Äks. Warum man XAMPP unter Windows installieren möchte, kann ich zur Not noch verstehen. Aber Apache 2.2.2 kann mit dem bisher letzten offiziellen PHP 5.1.4 unter Windows nichts anfangen. Wenn die Apache-Friends sowas in ihr Paket integriert haben, so müssen sie irgendeinen Patch für PHP verwendet haben, oder sie haben eben gleich das noch nicht freigegebene PHP 5.2 eingesetzt - siehe übrigens dieser Thread.
Unter Windows hätte ich weniger Probleme einen Apachen 2.2.2 mit einem PHP 5 per Hand zu installieren als XAMPP zu nutzen. Unter Linux ist diese Kombination nur mit Hilfe von XAMPP möglich.
Debian ist die konservativste aller Linux-Distributionen. Wenn du dort "apt-get install apache" eingibst, wird dir Apache 1.3.34 eingerichtet, und wenn du "apt-get install apache2" fährst, bekommst du einen Apache 2.0.54. Nix da mit Apache 2.2.x, den mußt du dir dann schon selber kompilieren.
Um nicht auf Apache 1.3.34 zurückgreifen zu müssen, oder eben den Apache 2.0.54 mit einer veralteten PHP 4 Version, habe ich mich eben für XAMPP entschieden.
Ich weiß zwar, daß die Apache-Friends ihr XAMPP auch für Linux anbieten, aber ich werde mich hüten, das zu nutzen, weil ich immer erst nachsehen müßte, was sie wie kompiliert haben. _Alle_ Bestandteile gibt es für _jede_ Linux-Distribution auch so zu freien Download. Wenn man sie sich selber zusammenbaut, weiß man wenigstens, was sie tun.
Ich will doch programmieren, nicht kompilieren. Für meine Zwecke reicht XAMPP völlig. Einstellungen kann man dort ebenso vornehmen. Es gibt sogar die normale httpd.conf. Bei der Installation von Apache 2 darf man erstmal nach den Einstellungsdateien suchen. Eine httpd.conf gibts da nicht. Die heißt apache2.conf. Aber das nur mal so am Rande.
Tja, mit meinem Problem bin ich damit auch nicht weiter und ob der Einsatz eines selbst kompilierten Apache 2 und PHP 5 die Lösung ist, bezweifle ich.
Ich tippe mittlerweile stark auf Zugriffsrechte, die fehlen. Die Frage ist halt, wie man das einstellt, dass eine Programmausführung möglich ist. Im PHP-Manual steht soweit ich das sehe nichts dazu.
Gruß und Gute Nacht,
Kerstin