Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

PHP-Befehle für Funktion gehalten ... Woran liegts?

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
paolo
Newbie
Newbie
Beiträge: 6
Registriert: 4. Mai 2004, 11:29

PHP-Befehle für Funktion gehalten ... Woran liegts?

Beitrag von paolo »

Hallo Leute,

jetzt versuche ich nochmal, den Fehler genau zu beschreiben und die Frage gleich im richtigen Bereich zu stellen:

In meinen Scripten connecte ich die Datenbank mit
$verbindung = mysql_connect ($host, $benutzer, $kennwort).

Die Skripte liefen auf anderen Servern problemlos.
Auf dem Linux-Server läuft der Befehl nicht, dort hält er den Befehl für eine Function und gibt die folgende Fehlermeldung aus:

Fatal Error: call to undefined function: mysql_connect() in /srv/www/htdocs/test/test.php on line 17

Nchfolgende Befehle (z.B. die IF-Abfrage für die DIE-Aktion) wird gar nicht mehr ausgeführt.

Services: PHP läuft, Mysql auch.
(phpMyAdmin läuft!)

Versionen: SuSE Linux 9.1, PHP 2.5.6, MySQL 4.0.18

Kennt sich da jemand aus, woran das liegen kann???

Grüße
Paul
Benutzeravatar
wenf
Hacker
Hacker
Beiträge: 422
Registriert: 8. Mär 2004, 11:23
Wohnort: ÖSI-Land
Kontaktdaten:

Beitrag von wenf »

1.) php ist ohne mysql - support
(phpMyAdmin läuft auf einem anderen Virtuellen host mit anderer php-version) -ehrlich gesagt glaube ich das aber nicht

2.) in Apache gibt es eine einstelling, die die datei test.php verbietet schau doch mal nach ob das bei dir so ist ....

3.) hast du irgendwelche PHP-flags in deiner Apache konfig ?
Gast

Beitrag von Gast »

Hallo wenf, Grüße nach Österreich!
wenf hat geschrieben:1.) php ist ohne mysql - support
(phpMyAdmin läuft auf einem anderen Virtuellen host mit anderer php-version) -ehrlich gesagt glaube ich das aber nicht?
Das ist auch nicht so.
wenf hat geschrieben:2.) in Apache gibt es eine einstelling, die die datei test.php verbietet schau doch mal nach ob das bei dir so ist ....
Das ist nicht so, denn die Datei wird ja angestartet und läuft bis zu diesem Befehl. Andere Mysql-Befehle kann ich auch nicht testen, da diese ja von diesem abhängen.
Kann es denn passieren, dass Mysql läuft (Status=running), aber die Befehle nicht akzeptiert werden?
wenf hat geschrieben:3.) hast du irgendwelche PHP-flags in deiner Apache konfig
Welche sollen das denn z.B. sein?

Danke für den Versuch....

Grüße aus dem Rheinland
Paul
PolyMorPhi
Newbie
Newbie
Beiträge: 16
Registriert: 5. Mai 2004, 16:20

Beitrag von PolyMorPhi »

Hallöchen!

Ruf einfach mal in einem neuen Script Folgenenden snippet auf:

Code: Alles auswählen

<?
phpinfo();
?>
In dem ersten grauen Fenster stehen die "Flags" mit denen PHP Compiliert wurde. Da PHP Modular aufgebaut ist, muss auch das php-mysql Modul installiert werden.
Wenn bei den Flags also z.B. steht --disable-mysql-irgendwas ist dein PHP ohne MySQL Compiliert worden.
Bei SuSE 9.1 wundert mich gar nix mehr :twisted:.

Dann kannst du höchstens noch mal versuchen den Schoschonen komplett zu löschen und neu zu installieren 8)
paolo
Newbie
Newbie
Beiträge: 6
Registriert: 4. Mai 2004, 11:29

Da ist was dran ...

Beitrag von paolo »

Hallo,

ja, da ist was dran. Es gibt die Zeile in 'Configure Command': -without-mysql
... Obwohl ich doch Mysql installiert habe - phpMyAdmin funktioniert doch ... und damit komme ich doch an die DBs ...

Dann habe ich festgestellt, dass der Befehl session_id() auch nicht erkannt wird und ebenfalls für eine Funktion gehalten wird ...
Ich denke, ich komme nicht drumherum, mich an SuSE zu wenden...

Danke für den Tip!

Paul
Benutzeravatar
wenf
Hacker
Hacker
Beiträge: 422
Registriert: 8. Mär 2004, 11:23
Wohnort: ÖSI-Land
Kontaktdaten:

Beitrag von wenf »

was ist wenn du php ohne mysql-support hast
aber phpMyAdmin pear db mysql verwendet

dann kann es zu so einer konstelation kommen
paolo
Newbie
Newbie
Beiträge: 6
Registriert: 4. Mai 2004, 11:29

...

Beitrag von paolo »

Hallo,

Perl ist NICHT installiert, den Apache habe ich komplett deinstalliert und wieder installiert, Mysql habe ich NICHT deinstalliert, so dass der Apache den Mysql finden konnte (wenn er ihn denn sucht)....

:cry: - ratlos....


Paul
Benutzeravatar
wenf
Hacker
Hacker
Beiträge: 422
Registriert: 8. Mär 2004, 11:23
Wohnort: ÖSI-Land
Kontaktdaten:

Beitrag von wenf »

nicht PERL
sondern PHP PEAR
PEAR - PHP Extension and Application Repository
http://pear.php.net/

phpMyAdmin
http://deinhost/phpMyAdmin/Documentation.html#faqmysql
phpMyAdmin tried to load the extension
Usually, the problem is solved by installing a software package called "PHP-MySQL" or something similar.
paolo
Newbie
Newbie
Beiträge: 6
Registriert: 4. Mai 2004, 11:29

kein Pear lt. phpinfo()

Beitrag von paolo »

Hallo,

laut phpinfo() ist kein pear aktiviert (-without-pear).

Paul
[/b]
Benutzeravatar
wenf
Hacker
Hacker
Beiträge: 422
Registriert: 8. Mär 2004, 11:23
Wohnort: ÖSI-Land
Kontaktdaten:

Re: Da ist was dran ...

Beitrag von wenf »

paolo hat geschrieben:Es gibt die Zeile in 'Configure Command': -without-mysql
dann kann php auch nicht gut mit mysql

hast du php selbst kompiliert oder feritges von SUSE ?
Snubnose
Hacker
Hacker
Beiträge: 410
Registriert: 18. Feb 2004, 19:19
Wohnort: Schwabenland

Beitrag von Snubnose »

zieh dir doch einfach ein php rpm und bügel es drüber, dann haben sich deine ganzen Probleme erledigt...
paolo
Newbie
Newbie
Beiträge: 6
Registriert: 4. Mai 2004, 11:29

Geht nicht so einfach - sagt SUSE

Beitrag von paolo »

habe soeben mit SuSE telefoniert (0190er Nummer). Ein Fehler in PHP in der V9.1 ist bekannt, dafür soll es ein Update irgendwann geben.
Auf die Frage, ob denn ein älteres RPM installiert werden kann, sagte man mir, das geht nicht weil der Sprung zum 2.6er Kernel nicht passt....

.... vielleicht besorge ich mir mal eine ältere V8.2..

Paul
Benutzeravatar
AlBundy
Member
Member
Beiträge: 64
Registriert: 28. Apr 2004, 11:49
Wohnort: Leipzig
Kontaktdaten:

PHP-Extensions

Beitrag von AlBundy »

Ich hatte ein ähnliches Problem (unter PostNUKE). Da lief auch nix mehr unter 9.1 zusammen.

Schau mal in der php.ini nach, ob es dort einen Extensions-Block gibt. Dort solltest Du die mysql.so einbinden. Die findest Du unter /usr/lib/php/extensions - wenn diese PHP-Erweiterung mit installiert ist.

Nachdem ich das eingebunden hatte, lief auch meine MySQL-PHP-Vrbindung wieder ...

HTH,

Al
paolo
Newbie
Newbie
Beiträge: 6
Registriert: 4. Mai 2004, 11:29

... Läuft trotzdem nicht ...

Beitrag von paolo »

Hallo Al,

habe die php.ini überarbeitet (extension=mysql.so).
Habe den Apache und Mysql neu gestartet, läuft noch immer nicht...
Ich frage mich nur, wenn doch der phpMaAdmin läuft, warum läuft der auch, wenn die 'normalen' Befehle nicht laufen??? Wie kommt der an die Stuktur und Daten der DBs??

Paul
Benutzeravatar
AlBundy
Member
Member
Beiträge: 64
Registriert: 28. Apr 2004, 11:49
Wohnort: Leipzig
Kontaktdaten:

Snippet aus meiner php.ini

Beitrag von AlBundy »

Hallo paolo,

ich habe bei mir alle php-Module mittels YaST installiert (auch wenn ich die meisten nie brauchen werde :wink:). In der php.ini steht irgendwo ein

Code: Alles auswählen

extension_dir = /usr/lib/php/extensions
wo ich den Pfad zu den Modulen eingetragen habe.

Außerdem gibt es einen Extensions-Block, der bei mir so aussieht:

Code: Alles auswählen

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; Note that it should be the name of the module only; no directory information 
; needs to go here.  Specify the location of the extension with the
; extension_dir directive above.

; The following section header introduces a section where packages
; will add extension directives. You should not edit that line!

[extension section]
extension=zlib.so
extension=yp.so
extension=xslt.so
extension=wddx.so
extension=unixODBC.so
extension=sysvshm.so
extension=sysvsem.so
extension=swf.so
extension=sockets.so
extension=snmp.so
extension=shmop.so
extension=session.so
extension=recode.so
extension=readline.so
extension=qtdom.so
extension=pgsql.so
extension=mysql.so
extension=mime_magic.so
extension=mhash.so
extension=mcrypt.so
extension=mcal.so
extension=mbstring.so
extension=ldap.so
extension=imap.so
extension=iconv.so
extension=gmp.so
extension=gettext.so
extension=gd.so
extension=ftp.so
extension=filepro.so
extension=exif.so
extension=domxml.so
extension=dbase.so
extension=dba.so
extension=curl.so
extension=ctype.so
extension=calendar.so
extension=bz2.so
extension=bcmath.so
; end of extension section
Bitte vergiß nicht, nach einer Änderung den Indianer neu zu starten (rcapache2 stop und rcapache2 start).

Al
Antworten