Zum Inhalt springen

[PHP] Seit Nutzung von CLI geht mysql_connect nicht mehr


Empfohlene Beiträge

Hi,

ich habe ein paar PHP-Skripte, die auf der Kommandozeile ausgeführt werden (für Crons). Doch seitdem ich etwas mit mysql mache in meinem Skript bekomme ich den Fehler:

Fatal error: Call to undefined function: mysql_connect() in /../connect.inc.php

Das Skript is richtig, denn lasse ich es normal über den Webbrowser aufrufen, dann geht es. Aber eben nicht als CLI. Habe schon wie blöde gegoogelt, aber die einzigen Tipps bezogen sich auf PHP5. Ich habe aber PHP 4.3.9 auf Apache2 unter SuSE laufen.

Wenn jemand etwas weiß, dann wäre ich ihm sehr dankbar :))))))

[edit]

Wenn ich "andere" Sachen als CLI mache, z.B. ein simples echo() dann geht es; also CLI funktioniert grundsätzlich eigentlich schon....

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich weiss nicht genau was du mit CLI meinst, aber es sieht so aus, als würde dieses CLI die mysql.lib nich mitladen.

vielleicht müsstest du in diesem fall die Mysql.so händisch "nachladen":


// Example loading an extension based on OS
if (!extension_loaded('mysql')) {
dl('mysql.so');
}

[/PHP]

siehe:

http://de2.php.net/manual/de/function.dl.php

Link zu diesem Kommentar
Auf anderen Seiten teilen

für dein Problem existiert noch eine andere Fehlerquelle, als PHP5. Daher meine Frage, welche MySQL Version du benutzt, denn genau dort könnte der Fehler sein, den du bekommst.

Oder habe ich das grade falsch verstanden, dass das Script im Webbroser funktioniert, und nur über die Konsole diese Fehlermeldung ausspuckt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oder habe ich das grade falsch verstanden, dass das Script im Webbroser funktioniert, und nur über die Konsole diese Fehlermeldung ausspuckt?

wohl falsch verstanden ;)

Im Webbrowser funktioniert ist, auf Kommandozeile nicht.

kannst du vielleicht beim interpreter per parameter direkt libs mitladen?

Nee, nicht wirklich....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, da du mit Crons arbeitest, nehme ich einfach mal an, dass du für den Webserver das PHP-Modul benutzt.

Habs grade mal auf ner Windows Maschine getestet (Auf der Arbeit kann ich leider nicht unter Linux arbeiten) und da hier auch PHP als CGI läuft, gibt es keinerlei probleme.

Vielleicht währe es sinnvoll, wenn du in der console mal die phpinfo() aufrufst, und eventuell die php.ini anpassen würdest.

eventuell müsste die cli Version auch mit mysql support compiliert werden, kanns aber erst wirklich testen, wenn ich zu hause auf der Linux maschine den Fehler nachvollzogen habe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, da du mit Crons arbeitest, nehme ich einfach mal an, dass du für den Webserver das PHP-Modul benutzt.

Habs grade mal auf ner Windows Maschine getestet (Auf der Arbeit kann ich leider nicht unter Linux arbeiten) und da hier auch PHP als CGI läuft, gibt es keinerlei probleme.

Vielleicht währe es sinnvoll, wenn du in der console mal die phpinfo() aufrufst, und eventuell die php.ini anpassen würdest.

eventuell müsste die cli Version auch mit mysql support compiliert werden, kanns aber erst wirklich testen, wenn ich zu hause auf der Linux maschine den Fehler nachvollzogen habe.

naja ist ja genau was ich auch schon gesagt habe...., bzw. gemeint habe :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja also es sind zwei unterschiedliche php.ini's die er da nimmt, eine für den Webbrowser und eine für CLI. Habe beide angepasst und wenn ich mir für beide die phpinfo ausgeben lasse, steht da auch jedes Mal "-- with mysql", also halt das mysql mit kompiliert wurde... aber der fehler bleibt leider bestehen. :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin grade ein wenig ratlos, denn normal müsste es gehen. Vielleicht postest du mal den entsprechenden Teil aus der Datei, der den Fehler verursacht. Ich vermute inzwischen nämlich fast, dass du einen winzigen Schreibfehler gemacht hast.

hm naja, dann würde es aber auch in der version ohne CLI nicht gehen....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi nochmal,

also Schreibfehler schließe ich mal aus, denn in der Webversion funktioniert es ja. Und sonst hätte da ja auch ein Fehler kommen müssen.

Mir ist aufgefallen, dass CLI scheinbar "manchmal" eine andere .ini-Datei nimmt, warum auch immer, wo die mysql-Erweiterung eingeschaltet sind, aber trotzdem bekomme ich bei phpinfo keinen Eintrag für mysql... sehr merkwürdig. Selbst wenn über php -c explizit sage, er soll die ini nehmen, wo mysql aktiviert ist, dann kriege ich manchmal (wie gesagt: es geht teilweise, aber teilweise auch nicht?!) keine Angabe über mysql und manchmal halt schon "-- with mysql" und darunter die Einträge dafür.

Echt sehr strange...

Also wenn noch wer ne Idee hat... :))))

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...