php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-06-2011, 23:55
c0restalker
 Registrierter Benutzer
Links : Onlinestatus : c0restalker ist offline
Registriert seit: Oct 2009
Beiträge: 66
c0restalker befindet sich auf einem aufstrebenden Ast
Standard Exec-Problem

Guten Abend,

habe folgende zwei kleine Scripte:
PHP-Code:
//test.php

    
include('db.class.php');
    
$id $argv[1]; 
   
    
$db = new db();     
    
$db->update_user($id 'active''0');
    echo 
"Test"
PHP-Code:
//test2.php

    
$param 2;
    
exec('php -f test.php "'.$param.'"'$output);
    echo 
'<pre>';
    
print_r($output);
    echo 
'</pre>'
Zu meinem Problem. Wenn ich mit test2.php test.php via Exec und php -f aufrufe und einfach nur eine Ausgabe, ein simples echo in die test.php schreibe ohne die Klasse einzubinden, funktioniert die Ausgabe. Der übergebene Parameter lässt sich auch ausgeben.

Wenn ich jetzt die Klasse einbinde und die function aufrufen möchte wird keine Ausgabe mehr erzeugt, geschweige denn der DB query ausgegeben. Es wird nicht einmal eine Error-Message ausgegeben.

An der Klasse und der Function ist nichts falsch, beim manuellen Aufrufen von test.php mit einem beliebigen Parameter wird der query ausgeführt, nur eben nicht über Exec.

Ich hoffe jemand hat eine Idee und kann mir weiterhelfen!

Vielen Danke,

liebe Grüße

c0re

Geändert von c0restalker (11-06-2011 um 00:09 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 11-06-2011, 00:17
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von c0restalker Beitrag anzeigen
Wenn ich jetzt die Klasse einbinde und die function aufrufen möchte wird keine Ausgabe mehr erzeugt, geschweige denn der DB query ausgegeben. Es wird nicht einmal eine Error-Message ausgegeben.
Dann stell mal über error_log ein, dass PHP dir Fehlermeldungen in eine Datei schreiben soll. (Wenn du das über eine php.ini machst, dann darauf achten, dass du auch die „richtige“ bearbeitest - bei Ausführung von PHP über CLI ist das oft eine andere.)

Zitat:
An der Klasse und der Function ist nichts falsch
Aber der Pfad der include-Datei ist vermutlich „falsch“ - jedenfalls in dem Kontext, in dem das Script über CLI ausgeführt wird. Dabei ist das Arbeitsverzeichnis ein anderes, und damit funktionieren relative Pfadangaben auch nicht auf die gleiche Weise, wie bei Scriptausführung über den Webserver.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 11-06-2011, 00:24
c0restalker
 Registrierter Benutzer
Links : Onlinestatus : c0restalker ist offline
Registriert seit: Oct 2009
Beiträge: 66
c0restalker befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
Dann stell mal über error_log ein, dass PHP dir Fehlermeldungen in eine Datei schreiben soll. (Wenn du das über eine php.ini machst, dann darauf achten, dass du auch die „richtige“ bearbeitest - bei Ausführung von PHP über CLI ist das oft eine andere.)


Aber der Pfad der include-Datei ist vermutlich „falsch“ - jedenfalls in dem Kontext, in dem das Script über CLI ausgeführt wird. Dabei ist das Arbeitsverzeichnis ein anderes, und damit funktionieren relative Pfadangaben auch nicht auf die gleiche Weise, wie bei Scriptausführung über den Webserver.
Danke das hat mir sehr weitergeholfen. Er beschwert sich nun darüber:

Code:
[10-Jun-2011 23:22:47] PHP Fatal error:  Call to undefined function mysql_connect()
Ich verwende für meine DB-Connection die mysql_connect()-function. Diese funktioniert ohne die Exec-Anweisung und den Script Aufruf jedoch. Eine Idee warum er nun Probleme macht?

Vielen Dank nochmals
Mit Zitat antworten
  #4 (permalink)  
Alt 11-06-2011, 01:10
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Wie gesagt, schau erst mal nach, welche php.ini für CLI gilt (php_ini_loaded_file hilft) - ggf. ist da die Erweiterung einfach nicht aktiviert.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 12-06-2011, 00:11
c0restalker
 Registrierter Benutzer
Links : Onlinestatus : c0restalker ist offline
Registriert seit: Oct 2009
Beiträge: 66
c0restalker befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
Wie gesagt, schau erst mal nach, welche php.ini für CLI gilt (php_ini_loaded_file hilft) - ggf. ist da die Erweiterung einfach nicht aktiviert.

Daaankeschön, daran lag es!
Habe in mein Script die Function 'php_ini_loaded' eingebunden und der Pfad zur php.ini der eingebunden wurde stimmt nicht mit dem Pfad der XAMPP-Installation überein. Er bindet nämlich die php.ini einer uralten PHP-Installation von mir ein.

Schon komisch, dass er sonst immer die ini von Xampp benutzt und nun plötzlich nach Konsolen-Start die ini aus einem total anderen Verzeichnis. Da muss irgendwas schief gelaufen sein.

Jetzt muss ich ihm das nur noch ausreden und dann habe ich es endlich geschafft! Vielen vielen Dank!

Liebe Grüße
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
klassen vars in klassen array vars petro_0 PHP Developer Forum 5 10-02-2009 11:54
Klassen-Instanz an Funktion in Klassen-Funktion weitergeben frankburian PHP Developer Forum 9 17-02-2008 23:04
exec () darkkiller PHP Developer Forum 1 18-12-2003 18:02
klassen innerhalb von klassen verwenden rythms BRAINSTORMING PHP/SQL/HTML/JS/CSS 14 07-11-2003 10:19
Klassen nutzen in Klassen Krusenbaum PHP Developer Forum 3 28-01-2002 20:04

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:26 Uhr.