Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: prob mit apache bzw phpmayadmin

  1. #1
    Registrierter Benutzer
    Registriert seit
    Nov 2002
    Beiträge
    54

    prob mit apache bzw phpmyadmin

    hallo

    hab ein kleines prob mit meinem apache bzw php modul.
    habe mandrake 9.1 und den apache 2.0 (inkl modulen).
    bis jetzt lief alles gut, bis ich gezwungen war, die php.ini anzupassen.
    habe die php.ini-dist in /etc kopiert und umbenannt in php.ini.
    diese habe ich dann angepasst indem ich den safe mode = Off und register_globals = On gesetzt habe.
    danach liefen mein php scripts optimal.
    leider geht seitdem mein phpmyadmin nciht mehr und es kommt folgende fehlermeldung:
    "die mysql erweiterung konnte nicht geladen werden.
    bitte überprüfen sie ihre php konfiguration
    dokumentation"

    leoder konnte ich weder in der doku, noch in der php.ini.conf was passendes finden.
    weiß jmd rat?
    danke schonmal!
    Geändert von chrimp (06.10.03 um 09:55 Uhr)

  2. #2
    kleine schwester von root Avatar von corresponder
    Registriert seit
    May 2002
    Ort
    192.67.198.56
    Beiträge
    4.584
    hi,

    du must einen superuser für mysql erstellen, da du dich sonst nicht korrekt anmelden kannst!

    gruss

    c.

    in der bash:

    mysql schreiben dann:

    mysql> use mysql;
    mysql> update user set password=password('GEHEIM') where User='root';
    mysql>exit;

    bash> mysqladmin reload

    ...
    Geändert von corresponder (06.10.03 um 08:59 Uhr)
    _______________________________________

    www.audio4linux.de - musik machen mit offenen quellen!

  3. #3
    Registrierter Benutzer
    Registriert seit
    Nov 2002
    Beiträge
    54
    hi

    danke erstmal für deine antwort.
    was ich jetzt aber leider nicht versthe, was das mit der php.ini zu tun haben könnte.
    sorry wenn ich nochmal nachfrage, aber ich würde gern den zusammenhang verstehen.
    thx

  4. #4
    kleine schwester von root Avatar von corresponder
    Registriert seit
    May 2002
    Ort
    192.67.198.56
    Beiträge
    4.584
    hi,

    ich denk mal das hat mit den register_globals zu tun...

    gruss

    c.
    _______________________________________

    www.audio4linux.de - musik machen mit offenen quellen!

  5. #5
    Registrierter Benutzer
    Registriert seit
    Nov 2002
    Beiträge
    54
    hmm, werde ich dann mal testen.
    die register_global habe ich angeschaltet, weil ich keine variablen ausgeben konnte.
    warum auch immer
    thx

  6. #6
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    189
    Hi,

    hast du

    extension=msql.so

    in deiner php.ini stehen? Wenn nein, trag das mal ein und starte den Apache danach neu.

    Gruß elevator
    Yarrow @ Sony Vaio

  7. #7
    Registrierter Benutzer
    Registriert seit
    Nov 2002
    Beiträge
    54

    @elevator

    die zeile war auskommentiert.
    hab dies geändert. apache restarted, hat aber leider nichts gebracht.
    trotzdem thx

  8. #8
    kleine schwester von root Avatar von corresponder
    Registriert seit
    May 2002
    Ort
    192.67.198.56
    Beiträge
    4.584
    hi,

    hast du nen root(super-) user für mysql?
    _______________________________________

    www.audio4linux.de - musik machen mit offenen quellen!

  9. #9
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723
    Original geschrieben von chrimp
    hmm, werde ich dann mal testen.
    die register_global habe ich angeschaltet, weil ich keine variablen ausgeben konnte.
    warum auch immer
    thx
    <INQUISITION>Register_globals sind absolut schändlich. Und seit php 4.2 standardmäßig deaktiviert; aus gutem Grund:
    http://de2.php.net/manual/en/securit...terglobals.php</INQUISITION>
    Wahrscheinlich versuchst Du GET und POST Variablen einfach per $NameDerVar abzufragen. Was nie wirklich richtig war. versuchs über $_GET['varName'] und gut is.
    Genau das meint wohl dieser Satz:
    "[...]this directive was quite common and many people didn't even know it existed and assumed it's just how PHP works."

    Zu Deinem eigentlichen Problem.
    Original geschrieben von chrimp
    habe die php.ini-dist in /etc kopiert und umbenannt in php.ini.
    Was hast Du mit der ürsprünglichen php.ini gemacht bzw. nicht direkt diese angepasst?
    Wenn Du die alte php.ini noch hast kopier diese zurück und nimm Deine Änderungen an dieser vor.
    Ansonsten klingt es eindeutig so, daß die mysql erweiterungen nicht gefunden werden. Hat 100%tig nix mit SafeMode oder register_globals zu tun.
    In der php.ini werden alle module aufgelistet, die zusätzlich geladen werden sollen u.a. auch mysql. Daher ist der Ansatz von elevator wohl der Richtige.
    Ich denke wohl, daß das modul eher mysql.so als msql.so heißt. msql ist imho MS SQL Server.
    Guck mal welche Module in dem Verzeichnis, daß in der php.ini unter extension_dir angegeben ist, vorhanden sind; vielleicht kannst Du vom Namen auf das richtige schließen.

    Um zu testen, ob es wirklich an den mysql Erweiterungen liegt (ziemlich sicher) teste mal folgende Zeile code.
    Code:
    <?php
      $dbh = mysql_connect('root', 'peng', 'localhost');
    ?>
    Wenn die mysql Erweiterungen nicht gefunden werden bekommst Du die Meldung "Call to undefined function ..." ansonsten kommt irgendein mysql Access denied Dingens Fehler.

    Viel Erfolg!

  10. #10
    Registrierter Benutzer
    Registriert seit
    Nov 2002
    Beiträge
    54
    Original geschrieben von Stanislaus
    ...........Wahrscheinlich versuchst Du GET und POST Variablen einfach per $NameDerVar abzufragen. Was nie wirklich richtig war. versuchs über $_GET['varName'] und gut is.
    Genau das meint wohl dieser Satz:
    "[...]this directive was quite common and many people didn't even know it existed and assumed it's just how PHP works."
    jo da ist genau das prob.
    bin blutiger php anfänger, hab es aber so beigebracht bekommen, werde es jetzt aber umlernen.
    muss aber auch gestehen, dass mir der apache 2 noch extrem probs macht.
    ...Was hast Du mit der ürsprünglichen php.ini gemacht bzw. nicht direkt diese angepasst?
    Wenn Du die alte php.ini noch hast kopier diese zurück und nimm Deine Änderungen an dieser vor.
    bei mandrake ist für mich alles noch ein wenig komisch
    es gibt/gab keine php.ini, sondern nur eine /usr/share/doc/libphp_common430-430/php.ini-dist
    hab mir mit einer phpinfo nun den pfad gesucht wo die php.ini sein sollte (bis dahin ging auch noch alles perfekt, inkl phpmyadmin).
    die alte geonmmen in /etc/php.ini kopiert/umbenannt und die einstellungen wie oben beschrieben vorgenommen.
    habe auch versucht, erst in der php.ini-dist was zu ändern, aber die haben nichts bewirkt.

    ....... elevator wohl der Richtige.
    Ich denke wohl, daß das modul eher mysql.so als msql.so heißt. msql ist imho MS SQL Server.
    Guck mal welche Module in dem Verzeichnis, daß in der php.ini unter extension_dir angegeben ist, vorhanden sind; vielleicht kannst Du vom Namen.....
    extension_msql.so hab ich aktiviert.
    extensions_dir stand auf ./ das hab ich nun auf /etc/httpd/modules geändert.
    leider ohne erfolg.
    ....... Zeile code.......
    Wenn die mysql Erweiterungen nicht gefunden werden bekommst Du die Meldung "Call to undefined function ..." ansonsten kommt irgendein mysql Acc.....
    folgendes kommt, wenn ich die datei aufrufe:
    "Fatal error: Call to undefined function: mysql_connect() in /var/www/html/sy/test.php on line 2"

    genau wie du es sagst.
    leider sehe ich den wald vor leider bäumen nicht mehr
    danke für eure hilfe!!!
    Geändert von chrimp (06.10.03 um 19:43 Uhr)

  11. #11
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    189
    Original geschrieben von Stanislaus

    [...]
    Daher ist der Ansatz von elevator wohl der Richtige.
    Ich denke wohl, daß das modul eher mysql.so als msql.so heißt. msql ist imho MS SQL Server.
    [...]
    Vollkommen richtig, es muss
    Code:
    extension=mysql.so
    heissen. Kleiner Tippfehler mit grosser Auswirkung. Gut das dir das aufgefallen ist . Korrigier die Zeile in der php.ini bitte mal chrimp.

    Gruß elevator
    Yarrow @ Sony Vaio

  12. #12
    Registrierter Benutzer
    Registriert seit
    Nov 2002
    Beiträge
    54
    hi alle!!!

    es funzt endlich.
    habe aus msql.so mysql.so gemacht und den extensions pfad auf /usr/lib/php/extensions/ geändert.
    die sch*** geht!
    danke euch für eure unterstützung!!!

    als nächstes werde ich die register_globals wieder anschalten und schauen wie ich das mit den variablen hinbekomme
    gibts auch relevante gründe den safemode an zu lassen?
    der server ist eh nur zu eigenzwecken. wenn sich dadurch aber auch fehler beim programmieren einschleichen, würde ich das auch gerne abschalten.
    thx

  13. #13
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723
    Original geschrieben von chrimp
    als nächstes werde ich die register_globals wieder anschalten und schauen wie ich das mit den variablen hinbekomme
    gibts auch relevante gründe den safemode an zu lassen?
    der server ist eh nur zu eigenzwecken. wenn sich dadurch aber auch fehler beim programmieren einschleichen, würde ich das auch gerne abschalten.
    thx
    Also register_globals sollte immer auf Off stehen und das aus folgendem Grund.
    Außzug aus "Webserver Sicherheit ist realisierbar" http://www.johanneshoppe.de/publikat...ebservern.html
    if ($pass == "hallo") $auth = 1;
    if ($auth == 1) echo "Dies ist ein geheimer Text!";

    Die erste Zeile dieses Programms prüft, ob die Variable $pass den Wert "hallo" hat. Trifft dies zu, so wird die Variable $auth auf den Wert 1 gesetzt.
    Die zweite Zeile vergleicht $auth mit dem Wert 1. Trifft auch dies zu, so wird der geheime Text ausgegeben.

    Der Programmierer geht davon aus, dass $auth solange leer bleibt, bis ein Wert gesetzt wird. Doch folgender Aufruf der Seite würde den Passwortschutz sinnlos machen:
    "passwort.php?pass=mir_egal&auth=1"

    Egal, welchen Wert die Variable $pass bekommt, $auth wird schon zum Start des Programms auf 1 stehen. Der korrekte Code müsste demnach so aussehen:
    $auth = 0;
    if ($pass == "hallo") $auth = 1;
    if ($auth == 1) echo "Dies ist ein geheimer Text!";
    Safemode kannst Du bedenkenloß an lassen. Der SafeMode bewirkt, daß php nur aus ganz bestimmten Verzeichnissen Dateien includen darf bzw. auch eben nur in diese Verzeichnisse schreiben darf. Sollte Dir i.d.R. nicht in die Queere kommen.

    Bis neulich ...

  14. #14
    Registrierter Benutzer
    Registriert seit
    Nov 2002
    Beiträge
    54
    hi

    ich weiß, dass das heir kein programmierforum ist, aber vielleicht wird mir ja trotzdem kurz geholfen.
    es ghet um den variablenaufruf wenn global_register=off ist.

    wenn ich
    echo $_GET['variable']; mache geht das perfekt.
    wenn ich aber echo "das ist das ergebnis: $_GET['variable']! ";
    mache, dann zeigt er die variable bzw das ergebnis nicht an.
    was mache ich falsch?
    danke

  15. #15
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723
    Original geschrieben von chrimp
    [...]wenn ich aber echo "das ist das ergebnis: $_GET['variable']! ";
    mache, dann zeigt er die variable bzw das ergebnis nicht an.
    Was zeigt er denn an?
    Kann es gerade leider nicht testen aber ich denke es gibt ein Problem mit den Hochkommata in den Anführungszeichen.
    PHP-Code:
    <?php
    echo "das ist das ergebnis: " $_GET['variable'] . "!";
    ?>
    So sollte es auf jeden Fall gehen.
    Oder versuch einfach mal die Hochkommata weg zu lassen.

    Bis neulich ...

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •