2009-07-31 7 views
1

Ich habe einige Probleme mit der Shell-Funktion in PHP. Ich möchte ein Java-Programm auf dem Server ausführen, indem Sie eine PHP-Funktion auf einer PHP-Webseite ausführen.Kann nicht Shell-Funktion mit PHP

Das Java-Programm schreibt einige Zeichen in eine lokale Datei auf dem Server.

test.php

<?php 

    $WshShell = new COM("WScript.Shell"); 
    $cmd = ' "C:\\Program Files\\Java\\jdk1.6.0_14\\bin\\java" Importer 1 2 updated.txt 7'; 

    $WshShell->exec($cmd); 
    echo "okay"; 
?> 

Wenn test.php per Kommandozeile auf dem Server ausgeführt wird,

c:\php test.php 

das Java-Programm ausgeführt wird.

Wenn ich es jedoch über den Webbrowser ausgeführt habe, wird das Java-Programm nicht aufgerufen.

http://127.0.0.1/test.php 

Liegt es daran, dass der Apache-Benutzer die Befehlszeilenfunktionalität unter Windows nicht verwenden darf?

Systemkonfiguration:

Microsoft Windows XP, Professional x64 Edition, Version 2003 Service Pack 2 PHP-Version: 5.2.6.6 Apache 2.2 IIS 6

+2

versuchen, error_reporting (E_ALL) hinzuzufügen; oben, um zu sehen, welchen Fehler Sie bekommen. – Zed

Antwort

0

Welche Fehler haben Sie?

Nicht wirklich PHP zu wissen, ich habe jedoch eine Frage: Sie nicht die Datei vollständig qualifizieren, die das Java-Programm aktualisieren muss, können Sie sicher sein nicht geschrieben, aber unter einem Verzeichnis, in dem PHP-Server installiert ist,

2

Warum benutzen Sie nicht die normale PHP 'exec' Funktion?

+0

ich verstehe nicht, warum er OS spezifische Erweiterung entweder verklagt. – dusoft

0

Ihr Problem könnte daran liegen, dass PHP mit Apache unter "safe_mode" läuft ... Sie können dies in Ihrer php.ini Datei überprüfen.

Verwandte Themen