Mirko Rose: dbg.so - Apache mag's nicht laden

Hallo allerseits,

ich habe mir heute auf meinem Ubuntu-System LAMP installert.
Gerichtet habe ich mich nach folgendem Tutorial:
http://forum.developers-guide.net/showthread.php?t=3431
Das hat auch alles recht gut geklappt.
Jedoch habe ich nun Probleme den Debugger zum Laufen zu bekommen.
Richte ich mich nach folgender Anleitung
http://www.plog4u.org/index.php/Using_PHPEclipse_:_Installation_:_Installing_the_DBG_Debugger
bekomme ich diese Fehlermeldungen in meinem Apache-Error-Logfile:

[CODE=SQL][Mon Jun 05 18:45:53 2006] [notice] SIGHUP received.  Attempting to restart
PHP Warning:  PHP Startup: Unable to load dynamic library '/mnt/Misc0/DEVELOPMENT/PHP_Extensions/dbg.so' - /mnt/Misc0/DEVELOPMENT/PHP_Extensions/dbg.so: undefined symbol: OnUpdateLong in Unknown on line 0
[Mon Jun 05 18:45:53 2006] [notice] Apache/2.0.58 (Unix) PHP/5.1.2 configured -- resuming normal operations[/CODE]

Die DBG.so-Version stimmt auch mit der von PHP überein (5.1.2).
Der Apache lässt sich zwar starten, der Debuger jedoch nicht.

Google liefert mir zu o.g. Fehlermeldung leider seehr wenig Ergebnisse.

Hatte einer von Euch schonmal dieses Problem oder kann ggfs. erahnen
womit das zusammenhängen könnte ?

Besten Dank schonmal
Mirko Rose

  1. Hi,

    /mnt/Misc0/DEVELOPMENT/PHP_Extensions/dbg.so: undefined symbol: OnUpdateLong in Unknown on line 0

    (Nur eine Vermutung) Läuft PHP bei dir als Apache-Modul? Und hat der Apache die entsprechenden Zugriffsrechte auf die Datei /mnt/Misc0/DEVELOPMENT/PHP_Extensions/dbg.so (und für ggf. noch zusätzlich benötigte Dateien)?

    Denn das '... in Unknown on line 0' riecht ein wenig nach Zugriffsproblemen.

    Und nach deinem:

    Jedoch habe ich nun Probleme den Debugger zum Laufen zu bekommen.
    Richte ich mich nach folgender Anleitung
    http://www.plog4u.org/index.php/Using_PHPEclipse_:_Installation_:_Installing_the_DBG_Debugger

    und (Zitat aus der Anleitung):

    | Copy the debugger module (php_dbg.dll or dbg.so) into the extension directory (...)

    könnte es ja immerhin möglich sein, dass die dpg.so-Datei nur dich als Besitzer - und www-data  (sprich 'alle' in diesem Fall) keine Leserechte - hat/haben.

    (Ansonsten habe ich mit dem Debug-Modul noch nie gearbeitet, daher leider keine andere Idee.)

    Freundliche Grüße,
    Sancho

    1. Hallo Sancho,

      danke für den Tip mit den Rechten,
      werde das heute Abend mal überprüfen.

      Grüße aus Berlin
      Mirko

      1. Hi,

        bei der Gelegenheit noch eine Frage, auch aus Ubuntu-Sympathie :)

        Worauf beruht die Location für das Modul (hätte eher an eine Ablage im normalen Dateisystem unter /usr/lib/php5/... oder /usr/lib/apache2/modules/... gedacht)? Beruht das auf deiner LAMP-Installation - oder hast du ein virtuelles System?

        Und: Läuft bei dir schon Dapper Drake oder auch noch Breezy?

        (Bin über Breezy Badger zu Linux gekommen. Muss demnächst mal auf Dapper Drake updaten; wäre das erste komplette System-Update - das schiebe ich jetzt halt so vor mir her - bzw. komme einfach nicht dazu...)

        PHPEclipse (ohne den Debugger) hatte ich mir auch schon eingerichtet - aber dann eigentlich doch nicht verwendet (liegt aber nicht an Eclipse, sondern daran, dass ich mich von den 'händischen' Gewohnheiten nicht lösen kann).

        Freundliche Grüße,
        Sancho

        1. Hallo,

          Worauf beruht die Location für das Modul (hätte eher an eine Ablage im normalen Dateisystem
          unter /usr/lib/php5/... oder /usr/lib/apache2/modules/... gedacht)? Beruht das auf deiner LAMP-
          Installation - oder hast du ein virtuelles System?

          Wenn ich dich jetzt richtig verstanden habe: Ich habe beim Kompilieren des Apache bereits
          die PHP-Location als Flag mit angegeben.

          Und: Läuft bei dir schon Dapper Drake oder auch noch Breezy?

          Nein, auch noch nicht. Zeitmangel ist leider einer der Gründe ;-)
          Aber soo viele Änderungen bringt das Update ja anscheinend auch
          nicht mit, aber mal sehen..

          (Bin über Breezy Badger zu Linux gekommen. Muss demnächst mal auf Dapper Drake updaten; wäre
          das erste komplette System-Update - das schiebe ich jetzt halt so vor mir her - bzw. komme
          einfach nicht dazu...)

          s.o.

          PHPEclipse (ohne den Debugger) hatte ich mir auch schon eingerichtet - aber dann eigentlich
          doch nicht verwendet (liegt aber nicht an Eclipse, sondern daran, dass ich mich von den
          'händischen' Gewohnheiten nicht lösen kann).

          Ohne Code-Completion, Refactoring, Debugging, Code-Analyse etc. arbeite ich mitterweile
          eigentlich nur noch ungerne bis gar nicht. Ich finde das sind die Grundvoraussetzungen
          für ein sauberes Programmieren ;)

          Freundliche Grüße aus Berlin,
          Mirko

          1. Hi,

            Ohne Code-Completion, Refactoring, Debugging, Code-Analyse etc. arbeite ich mitterweile
            eigentlich nur noch ungerne bis gar nicht. Ich finde das sind die Grundvoraussetzungen
            für ein sauberes Programmieren ;)

            Stichwort Code-Completition: das meiste habe ich halt (wie gesagt: Gewohnheit) auch immer einigermaßen schnell getippt; aufbaufähige Basis-Module mit einem ausreichenden Abstraktionsgrad ersparen zudem einiges an Coding-Arbeit.

            Stichwort Refactoring: Sauberes, systematisches, documentor-kompatibles kommentieren und klare Coding-Regeln zwinge ich mich gerade, mir noch strenger anzugewöhnen.

            Stichwort Code-Analyse: Kommentare und übersichtliche Strukturen können diese zumindest auch rein 'optisch' schonmal _sehr_ erleichtern.

            Stichwort Debugging: PHP:error_reporting(E_ALL) (E_ALL | E_STRICT schadet auch nicht) in der Entwicklungsphase; ein kompatibles anwendungbezogenes Log-System versuche ich gerade zu schreiben; und - naja - eigentliches SHOULD: unit tests. (Da hilft AFAIK auch Eclipse noch nicht wirklich.) Hier muss ich gestehen, dass es bei mir bisher bei dem 'should' geblieben ist. Prinzipielles 'TestFirst' dann gar lässt sich vielleicht auch leichter innerhalb eines Teams durchhalten. Ist ja auch erstmal eine etwas andere Herangehensweise.

            Aber für Eclipse spricht sicher auch noch das UML-Plugin. Die Code-Vorformatierung von Klassenstrukturen aus UML-Diagrammen fällt AFAIK nicht unter Code-'Completition' - wäre also vielleicht noch ein zusätzliches Stichwort (?) Irgendwie hab ich das damals nicht konsequent genug durchprobiert - ob das auch für PHP schon ging - oder es ging noch nicht (?) Wenn es aber inzwischen ginge, dann wäre das vielleicht sogar ein überredendes Argument ;-)

            Freundliche Grüße,
            Sancho