# PHP Script per Kommandozeile ausführen



## juenta (18. Februar 2008)

Hallo Leute,

ich habe ein PHP Script, dass eine Datenbankverbindung aufbaut, DB-Inhalte ausliest und neue einträgt.
Die Datenbank Verbindung wird über eine Klasse geregelt.

Wenn ich das Script über den Browser ausführe, funktioniert es einwandfrei.

Allerdings muss es auch per "Kommandozeile" laufen und da hackts (bei mir):

/usr/bin/php -f meinscript.php

führt das Script aus.

Aber es kommt die Meldung, dass "mysql_connect" keine Funktion ist, obwohl ich sie in der Klasse definiert habe und diese auch einbinde.

Wenn ich im Script folgenden Eintrag mache:

$go = "mysql --execute="Insert Into TABELLE (ID, EINTRAG) Values (NULL, 'Mein Eintrag')" -u USER --password=PASSWORT DB -h HOST";

`$go`;

wird ein Eintrag vorgenommen.

Aber ich muss div. Daten auslesen und neu eintragen und möchte das nicht jedesmal mit diese Syntax erledigen.

Gibt es eine Möglichkeit, dass meine Datenklasse trotz Kommandozeilen Ausführung akzeptiert wird?

Vielen Dank für euere Unterstützung, ich komme an diesem Punkt einfach nicht mehr weiter...

Schöne Grüße
juenta


----------



## Flex (18. Februar 2008)

Bist du sicher, dass deine Funktion [phpf]mysql_connect[/phpf] heißt?

Denn dies ist eine feste Funktion und kann nicht neu deklariert werden.

Ansonsten bietet dir das Kapitel über Using PHP from the command line noch einige Tipps und Hinweise.


----------



## juenta (19. Februar 2008)

Hallo Felix,

erst mal danke für deine Antwort!
Das Manual hilft mir nicht richtig weiter, von der Syntax her ist der Ablauf klar...

Die Funktion "mysql_connect" verwende ich in der Datenbank-Klasse zur Verbindungsherstellung. Ich habe keine eigene Funktion dieses Namens angelegt...

Hast du - oder vielleicht sonst noch jemand - weiterführende Ideen?

Würde mich sehr freuen!

Schöne Grüße
juenta


----------



## ristone (19. Februar 2008)

Du hast sicher in der Konsolenversion keine mysql extension geladen (php5-cli).

mach am besten mal php -i und schau ob sie geladen ist.
Wenn nicht einfach nachtragen.


----------



## juenta (19. Februar 2008)

Hallo ristone,

danke für den Tipp, genau das war der Fall!

Der Admin kümmert sich jetzt erst mal um dieses Problem.
Sollte das Script anschließend immer noch nicht laufen, melde ich mich noch mal hier.

Vielen Dank an Alle.

Einen schönen Abend noch
juenta


----------

