"mysql_connect" im WWW aufrufbar, lokal aber nicht...

"mysql_connect" im WWW aufrufbar, lokal aber nicht...

am 24.07.2007 14:22:07 von michele

Hallo Leute,

nach stundenlangem Suchen seid ihr meine letzte Hoffnung :)

Ich habe ein verwirrendes php/mysql-Problem:
Ich benutze in meinem Projekt eine inc_conn.php, die in die anderen
Seiten eingebunden wird und die Datenbankverbindung zur Verfügung
stellt. Soweit, so gut, denn das ganze läuft im WWW und ist auch
abrufbar etc.

Jetzt will ich einen Mini-Server schreiben, der in gewissen Abständen
Irgendwas in der DB tut (ist ja egal was, Daten ändern halt). Lokal
auf meiner Testbox tut das auch alles, das Skript läuft durch und
alles tutti.

Jetzt kopiere ich das Ding auf meinen Server, logge mich ein, mache
einen neuen screen auf, wechsel in mein WWW Verzeichnis und versuche
die Datei mit "php test.php" aufzurufen. Dabei bekomme ich die
Meldung: "call to undefined function: mysql_connect". Kinnladen
runter, tief durchatmen und auf meiner Windows-Kiste den Browser auf
http://www.domain.de/test.php =3D> die Seite wird korrekt angezeigt.

Dann wollen wir mal in die phpinfo gucken:
- php.ini-Pfad stimmt

In der php.ini ist
- "extension=3Dmysql.so" an und
- "extension_dir =3D /usr/lib/php4/20020429" ist auch korrekt (die liegt
die .so)

Nochmal ein Blick in die phpinfo und wir entdecken:
'./configure' '--prefix=3D/usr' '--with-apxs2=3D/usr/bin/
apxs2' [..blalba..] '--without-mysql'

Jetzt stehe ich da wie der Ochse vorm Berg! Warum tun die Seiten im
WWW, aber sind lokal nicht abrufbar. Was habe ich vergessen zhu
poasten, was ist noch wichtig an configs/inis? Kann mir da irgendwer
helfen, der sich auskennt? Ich kenne nach der ganzen Sucherei nichtmal
mehr meine Frau :)

Vielen Dank schonmal

Michele

Re: "mysql_connect" im WWW aufrufbar, lokal aber nicht...

am 24.07.2007 14:59:06 von Joerg Behrens

Michele schrieb:
> Hallo Leute,
>
> nach stundenlangem Suchen seid ihr meine letzte Hoffnung :)
>
> Ich habe ein verwirrendes php/mysql-Problem:
> Ich benutze in meinem Projekt eine inc_conn.php, die in die anderen
> Seiten eingebunden wird und die Datenbankverbindung zur Verfügung
> stellt. Soweit, so gut, denn das ganze läuft im WWW und ist auch
> abrufbar etc.
>
> Jetzt will ich einen Mini-Server schreiben, der in gewissen Abständen
> Irgendwas in der DB tut (ist ja egal was, Daten ändern halt). Lokal
> auf meiner Testbox tut das auch alles, das Skript läuft durch und
> alles tutti.
>
> Jetzt kopiere ich das Ding auf meinen Server, logge mich ein, mache
> einen neuen screen auf, wechsel in mein WWW Verzeichnis und versuche
> die Datei mit "php test.php" aufzurufen. Dabei bekomme ich die
> Meldung: "call to undefined function: mysql_connect". Kinnladen
> runter, tief durchatmen und auf meiner Windows-Kiste den Browser auf
> http://www.domain.de/test.php => die Seite wird korrekt angezeigt.

Wenn du ein PHP ueber die Kommandozeile aufrufst dann wird PHP als CLI
oder (selten, so ware es frueher) als CGI Verstion ausgefuehrt.

ein "php -v" zeigt dir das. Ein "php -i" bringt ein "phpinfo" zu Gesicht.

Wenn du PHP ueber den Webserver ausfuehren laesst kommt PHP in der Modul
oder CGI Variante zum Einsatz. Jede der Varianten hat i.d.R eine eigene
php.ini.

beh@master ~ $ php -i | grep "php.ini"
Configuration File (php.ini) Path => /etc/php/cli-php5
Loaded Configuration File => /etc/php/cli-php5/php.ini

Du hattest nicht geschrieben welche Distribution du hast und somit must
du selber mal schauen.

Was viele nicht Wissen und was es zu beachten gibt das PHP erst immer
nach einer php-.ini sucht und erst am Ende nach einer
php.ini, des weitern guckt PHP oft auch im aktuellen Verzeichnis zu erst.


Mach mal ein updatedb und dannn locate ".ini" | grep php

Gruss
Joerg

--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de

Re: "mysql_connect" im WWW aufrufbar, lokal aber nicht...

am 24.07.2007 15:20:58 von michele

> Wenn du PHP ueber den Webserver ausfuehren laesst kommt PHP in der Modul
> oder CGI Variante zum Einsatz. Jede der Varianten hat i.d.R eine eigene
> php.ini.
>
> beh@master ~ $ php -i | grep "php.ini"
> Configuration File (php.ini) Path =3D> /etc/php/cli-php5
> Loaded Configuration File =3D> /etc/php/cli-php5/php.ini

Super, das hat mir schon geholfen, einfach in der anderen ini die
mysql.so "ankommentieren" und dann lüppt es - so, wieder was gelernt
in meinen Fundus :)

DANKE!

Michele

Re: "mysql_connect" im WWW aufrufbar, lokal aber nicht...

am 24.07.2007 15:22:06 von do.not.REMOVETHAT

Michele schrieb:

> Jetzt will ich einen Mini-Server schreiben, der in gewissen Abständen
> Irgendwas in der DB tut (ist ja egal was, Daten ändern halt).

/etc/cron.daily/myscript.php:

update personen set alter = alter + 1/356

scnr, Matthias

--
http://www.trullala.de
--
Der Trend geht ganz eindeutig zur Zweitsignatur.

Re: "mysql_connect" im WWW aufrufbar, lokal aber nicht...

am 24.07.2007 15:31:05 von michele

> /etc/cron.daily/myscript.php:
>
> update personen set alter =3D alter + 1/356

Entschuldigung, ich präzisiere: SEKUNDENabständen! :)