PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : problem mit MySQL



native
20.04.03, 09:57
hi, ich habe einen server, auf dem MySQL installiert ist, allerdings gehen die mysql-funktionen in PHP nicht. sprich, wenn ich in einem PHP skript eine verbindung zu einer DB aufbauen will, kommt der fehler "call to undefined function". laut Webmin ist die MYSQL DB aber installiert und läuft. kann mir jemand sagen, wie ich diesen fehler beheben kann?

hier ein paar eckdaten:
server: Redhat 8.3; der configure command:
'./configure' '--host=i686-pc-linux-gnu' '--build=i686-pc-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--prefix=/usr' '--with-config-file-path=/etc' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-db3' '--with-curl' '--with-dom=/usr' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-ttf' '--with-gdbm' '--with-gettext' '--with-ncurses' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-regex=system' '--with-xml' '--with-expat-dir=/usr' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-discard-path' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--without-oci8' '--with-pear=/usr/share/pear' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos=/usr/kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-unixODBC=shared' '--enable-memory-limit' '--enable-bcmath' '--enable-shmop' '--enable-versioning' '--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mcal' '--with-apxs2=/usr/sbin/apxs'
thx!
-native.

Olli
20.04.03, 10:44
Möglicherweise muss du das PHP-Module für den Apache neu bauen, da dein aktuelles mit der neuen mysql-Version inkompatibel ist. ... Und nicht vergessen bei php die entsprechenden Optionen für deine Apacheversion und das landen Dynamischer Module (--enable-so) anzugeben. Bei mir (mit apache2) sah das so aus so aus:

./configure --prefix=/usr --sysconfdir=/etc \
--with-apxs2=/usr/sbin/apxs \
--disable-cgi \
--with-config-file-path=/etc \
--with-openssl \
--enable-calendar \
--with-gdbm \
--with-dom \
--with-zlib-dir=/usr \
--with-gd=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-freetype-dir=/usr \
--with-t1lib \
--enable-gd-native-ttf \
--with-mysql=/usr \
--with-mysql-sock \
--enable-so && make && make sapi-install

Wie gesagt, wenn du apache 1.x nutzt, muss du anstelle des fett markierten --with-apache und --with-apxs=/usr/????/apxs angeben. Bin mit aber nicht ganz sicher...

oliver

native
20.04.03, 10:55
hi, erstmal danke! ich bin allerdings noch extrem neu in Linux, könntest du mir das bitte ausführlicher erklären?

zu meinem system: Apache version 2.0.40, MySQL version 3.23.52, PHP Version 4.2.2

vielen dank für die hilfe!

-native.

Olli
20.04.03, 11:37
Bevor du eine neue php-Version baust, kannst du ein kleines php-Skript schreiben das nur aus <? phpinfo() ?> besteht. Das speichert du und rufst es über den betroffenen Webbrowser auf. Die Ausgabe enthält eine Unmenge an Infos über die verwendete PHP-Version (falls du es nicht kennst). Die Ausgabeseite speichert du und hängst es an einen (leren) Beitrag mit an. Vielleicht findet man dort ja schon eine mögliche Fehlerquelle.

Oliver

native
20.04.03, 11:45
thx, hier die file ..

Olli
20.04.03, 11:58
AAHHHH: ich glaub, ich habe den Fehler: Der configure-Befehl ist nicht korrekt. Dort ist bei der Angabe zu den Mysql-Headers ein Fehler bzw. die Pfad-Angabe falsch. (--with-mysql=shared,/usr). Ich vermute, das deshalb deine PHP-Version keine Mysql-Unterstützung anbietet.
Wenn du eine Distri hast? Gibst dafür mglw. bereits ein neues rpm-Paket? Was für ein Linux hast du denn? Willst du wirklich kompilieren? (Ich will dich nicht davon abhalten....)

Oliver

Olli
20.04.03, 12:01
Hier mal meine Ausgabe. Bei dir fehlt - wie gesagt - der mysql-Bereich .....

native
20.04.03, 12:05
ich habe Redhat 8.0, Apache version 2.0.40, MySQL version 3.23.52, PHP Version 4.2.2

was wäre denn dein lösungsvorschlag? wie gesagt, ich bin völlig neu in Linux, hab also kaum ahnung und bin offen für alle tipps.

Olli
20.04.03, 12:11
mach mal ein
rpm -qa | grep php
und dann schreib mal wie das PHP-Paket genau heisst.

Oliver

native
20.04.03, 13:05
php-ldap-4.2.2-8.0.5
php-imap-4.2.2-8.0.5
php-4.2.2-8.0.5

Olli
20.04.03, 13:37
Sorry, hab mal MIttag gegessen.
Ich habe gerade mal ein wenig auf der redhat seite rumgeschaut. Kann es sein, dass RH ein eigenes Modul php-mysql oder so hat? Befrag doch mal die Softwareverwaltung und installier ggf. das Paket, wenn es das gibt. Vielleicht kannst du ja die Pakete auch im Volltext durchsuchen...

oliver

Bauchi
20.04.03, 15:53
jo redhat hat ein php-mysql rpm was du installieren musst ... danach den apachen STOPPEN und wieder STARTEN .. dann sollte es funzen ..

bye

Olli
20.04.03, 16:34
@Bauchi
Ist das dann nur das die libphp.so? Ich frag nur, weil ja "native's" phpinfo() nicht mal mysql-Unterstützung auf der Infopage ausweisst...

Oliver

Werner_CH
01.05.03, 06:10
Hallo Zusammen
Ich habe schon Wochen damit verbracht, meinem Server ein neues Apache mit PHP und MYSQL beizubringen, leider erfolglos (Suse 8.0, (L)AMPS selber kompiliert. Jetzt hab ich Mandrake 9.1 per FTP installiert: Server läuft. php geht, mysql-client geht, mysql via php geht nicht. Ich hab hier schon duzende Beiträge durchgelesen, hab auch das eine oder andere ausprobiert, funktioniert aber immer noch nicht. Hier mal meine phpinfo.Im Teil MYSQL feht doch sicher ein include / modul oder sowas??? (PS: Meine PHP Teile funktionieren auf der Suse-Installation mit "altem" Apache problemlos.)