php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.11.2008, 18:48  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von deeg Beitrag anzeigen
crossposting ftw
jetzt nichtmehr

@uriuri: ist open_basedir an?
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.11.2008, 10:46  
Neuer Benutzer
 
Registriert seit: 06.11.2008
Beiträge: 3
uriuri befindet sich auf einem aufstrebenden Ast
Standard

Sorry, dass ich noch nicht geantwortet habe.

Ich habe leider erst wieder am Donnerstag die Gelegeneheit, was an dem Server auszuprobieren. Ich kann also nicht nachschauen, ob 'open_basedir' an ist. Ich glaube aber nicht, dass das Programm im falschen Verzeichnis liegt. Ich glaube ich habe versucht, es vom Document Root aus zu starten. Das ging ebenso wenig. Außerdem bezieht sich doch open_basedir nur auf das Öffnen von Dateien, nicht auf das Ausführen von Programmen, oder?

Vielen Dank trotzdem für den Hinweis.

Sonst noch einer 'ne Idee?
uriuri ist offline   Mit Zitat antworten
Alt 10.11.2008, 14:32  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Und auch hier mal stderr auf stdout umleiten
PHP-Code:
echo "start ";
passthru("/usr/local/bin/xyz/parser 2>&1");
echo 
"ende "
Wird so eine Fehlermeldung ausgegeben?
David ist offline   Mit Zitat antworten
Alt 13.11.2008, 16:06  
Neuer Benutzer
 
Registriert seit: 06.11.2008
Beiträge: 3
uriuri befindet sich auf einem aufstrebenden Ast
Standard Fehler gefunden

Danke, Leute, ich hab den Fehler gefunden!

Es war doch ein bisschen anders als zunaechst gedacht:

Der Tipp mit der Ausgabe von stderr war super. So habe ich herausgefunden, dass die Datei 'libCore.so' nicht gefunden werden konnte. Diese ist, wie ich dann gemerkt habe, Bestandteil des Programms ROOT, das ich in mein C++-Programm eingebunden hatte. Mir war dann schnell klar, dass die Umgebungsaviablen falsch gesetzt sein muessen. ROOT braucht naemlich einen Eintrag mit seinem lib-Verzeichnis in der env var $LD_LIBRARY_PATH. Dieser war aber nicht vorhanden, wie durch
PHP-Code:
passthru("echo $LD_LIBRARY_PATH"); 
herauszufinden war. Also habe ich noch ein bisschen gesucht, wo denn die Variablen gesetzt werden muessen. Nach einiger Zeit stiess ich auf die Datei /etc/apache2/envvars und habe dort mit
Code:
...
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib
...
die noetige(n) Variable(n) gesetzt. Nach Neustart von apache2 hat's funktioniert!

Mich wundert nur, warum ich letzte Woche nicht den Fehler mit der 'libCore.so' an der Shell bekommen habe. Der kam nun naemlich auch an der Shell, wenn ich als Benutzer www-data eingeloggt war. Irgendwie muessen die Env Vars da noch exportiert worden sein, denn an der Shell konnte ich das Programm ausfuehren, aber mit PHP wiederum nicht.

Jetzt ist es genau umgekehrt: Mit PHP geht's, an der Shell aber nicht. Irgendwie muss es einen Unterschied geben zwischen dem User www-data, der von Apache benutzt wird, und dem User www-data, der an der Shell eingeloggt ist. Ist auch irgendwie klar, dass man nicht die Env Vars aus /etc/apache2/envvars bekommt, wenn man sich in die Bash einloggt.

Naja, ich hoffe, es klappt jetzt einwandfrei.

LG
uriuri ist offline   Mit Zitat antworten
Alt 13.11.2008, 16:37  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Ja, es gibt einen Unterschied, den ich Dir nur leider nicht aus dem Ärmel schütteln kann - meine Unix/Linux Kenntnisse sind begrenzt.
Such mal danach, welche Startdateien für interaktive/nicht-interaktive Sessions ausgeführt werden und welche Unterschiede es zu anderen Diensten/Prozessen gibt. Wenn Du Dich am Terminal anmeldest, arbeitet die Shell einige Dateien ab. Das passiert für den Apache daemon nicht - oder anders.
David ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Übergabeparameter an php bei exec Multiplex PHP Tipps 2008 3 22.07.2008 21:14
exec(), Programm läuft nur als Task Superfunk2000 Server, Hosting und Workstations 1 05.07.2008 09:14
Exec() im IIS funktioniert nicht Superfunk2000 PHP Tipps 2008 24 04.07.2008 15:12
kann exec() nicht ausführen Fehler127 ensacom PHP-Fortgeschrittene 5 11.03.2008 00:40
php und exec problem Sascha321 PHP Tipps 2007 8 27.07.2007 12:34
exec; seite bleibt hängen...auch mit umleitung Crypi PHP Tipps 2006 7 20.12.2006 21:14
exec Befehl cowabunga1984 PHP-Fortgeschrittene 4 10.06.2006 09:47
Exec(), system() ~ cmd-Befehl auf Windows mit Sonderzeichen PHP-Fortgeschrittene 0 10.04.2006 14:02
exec kommando liefert keinen rückgabewert? sputnik83 PHP-Fortgeschrittene 3 06.04.2006 15:21
exec und safe_mode PHP Tipps 2005-2 4 14.09.2005 13:56
[Erledigt] exec() Funktion PHP-Fortgeschrittene 1 22.08.2005 19:33
[Erledigt] exec() Funktion wird nicht mehr ausgeführt PHP-Fortgeschrittene 3 19.08.2005 11:25
unzip per exec() funktioniert leider nicht PHP-Fortgeschrittene 7 27.06.2005 15:33
exec () PHP Tipps 2004-2 5 17.12.2004 09:27
exec() und linuxkonsole (xterm) PHP Tipps 2004-2 0 09.12.2004 13:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php passthru \error 1\, php exec 127, passthru 127 php, php exec rückgabewert 127, exec nicht eingloggt, exec kann nicht ausgeführt werden, exec beispiel php 127, php exec kann nicht mehr ausgeführt werden, \kann exec nicht ausführen\, exec: kann nicht ausführen, exec() 127, php exec wird nicht ausgeführt, exec konnte nicht ausgefuehrt werden, linux shell exec konnte nicht ausgefuehrt werden

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum