Apache stürzt bei PDO ab

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Apache stürzt bei PDO ab

Postby zer0 » 14. January 2009 21:43

Hallo,

ich habe die neuste Version von XAMPP mit Apache 2.2.11 Zurzeit stürzt mein Apache immer ab wenn ich Sachen mit PDO mache. In Windows kommt dann die Meldung: 'Apache hat ein Fehler gemeldet und musste beendet werden'.

Folgendes steht im Errorlog:
[Wed Jan 14 19:07:37 2009] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Wed Jan 14 19:07:38 2009] [notice] Digest: generating secret for digest authentication ...
[Wed Jan 14 19:07:38 2009] [notice] Digest: done
[Wed Jan 14 19:07:38 2009] [notice] Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8 configured -- resuming normal operations
[Wed Jan 14 19:07:38 2009] [notice] Server built: Dec 10 2008 00:10:06
[Wed Jan 14 19:07:38 2009] [notice] Parent: Created child process 2364
[Wed Jan 14 19:07:39 2009] [notice] Digest: generating secret for digest authentication ...
[Wed Jan 14 19:07:39 2009] [notice] Digest: done
[Wed Jan 14 19:07:39 2009] [notice] Child 2364: Child process is running
[Wed Jan 14 19:07:39 2009] [notice] Child 2364: Acquired the start mutex.
[Wed Jan 14 19:07:39 2009] [notice] Child 2364: Starting 250 worker threads.
[Wed Jan 14 19:07:39 2009] [notice] Child 2364: Starting thread to listen on port 443.
[Wed Jan 14 19:07:39 2009] [notice] Child 2364: Starting thread to listen on port 80.


Das ist mein Code
Code: Select all
try {
          
             $dbh = new PDO($dsn, $user, $pw);

             $stmt = $dbh->prepare('SELECT id, name, password, email FROM user WHERE email = :email');
               $stmt->bindParam(':email', $_POST['email']);

             $stmt->execute();

              $result = $stmt->fetch(PDO::FETCH_OBJ);

      
          
           } catch (PDOException $e) {
           
             echo "Fehler bei der Datenbank-Verbindung: ". $e->getMessage();
             die();
             
           }


Das komisch ist sobald ich bindParam oder was anderes auskommentiere, stürzt es nicht mehr ab.

Gegoogelt habe ich auch schon nach dem Fehler, dort habe ich aber nur herausgefunden das ich Apache 1.x nehmen solle weil das diese Bugs nicht hätte. Habe schon in sämtlichen Foren mein Provlem gepostet, aber niemand weiß etwas, hoffe hier werde ich geholfen :)
zer0
 
Posts: 1
Joined: 14. January 2009 21:39

Re: Apache stürzt bei PDO ab

Postby niccommander » 01. March 2009 12:43

ich hab genau das gleiche problem...

mein php code is aber anders
Code: Select all
<?php
require('inc/conf.inc.php');


try {
   $dbh = new PDO('mysql:host='.$host.';dbname='.$db.'', $user, $pass);
   foreach ($dbh->query('SELECT * FROM green_line_2') as $row) {
      print_r($row);
   }
   $dbh = null;
} catch (PDOException $e) {
   print "Error!: " . $e->getMessage() . "<br/>";
   die();
}

?>


in der errorlog steht das gleiche



das witzige bei mir ist, wenn ich nen falschen datenbanknamen angebe dann bringt er mir nen error wenn die datenbank existiert, dann stürtzt er ab :!:

wenn ich dann bei der meldung, dass Apache abgestürtzt ist auf witere informationen geh kommt das:
Code: Select all
AppName: apache.exe    AppVer: 2.2.11.0    ModName: php_pdo_mysql.dll
ModVer: 5.2.8.8    Offset: 0000250a
niccommander
 
Posts: 1
Joined: 01. March 2009 12:28

Re: Apache stürzt bei PDO ab

Postby Xardas der Dunkle » 01. March 2009 16:33

Da scheint, ja die aktuelle PDO lib nicht in Ordnung zu sein.
Denn hier hat noch ein dritter ähnliche Probleme: viewtopic.php?f=6&t=33771

Am besten guckt ihr mal hier: http://bugs.php.net/ vielleicht findet ihr ein entsprechendes Ticket oder erstellt ggf. selber eins.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Apache stürzt bei PDO ab

Postby wsmm » 24. March 2009 10:31

gibt es hier schon eine Lösung? Ich habe das gleiche Problem, und vermute auch, dass es am Datenbank-Zugriff über das Zend-Framework mit PDO liegt.

In der älteren XAMPP-Version lief alles ohne Probleme.

[Tue Mar 24 10:05:14 2009] [notice] Server built: Dec 10 2008 00:10:06
[Tue Mar 24 10:05:14 2009] [notice] Parent: Created child process 2816
[Tue Mar 24 10:05:15 2009] [notice] Child 2816: Child process is running
[Tue Mar 24 10:05:15 2009] [notice] Child 2816: Acquired the start mutex.
[Tue Mar 24 10:05:15 2009] [notice] Child 2816: Starting 250 worker threads.
[Tue Mar 24 10:05:15 2009] [notice] Child 2816: Starting thread to listen on port 443.
[Tue Mar 24 10:05:15 2009] [notice] Child 2816: Starting thread to listen on port 80.
[Tue Mar 24 10:05:34 2009] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Tue Mar 24 10:05:34 2009] [notice] Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8 configured -- resuming normal
wsmm
 
Posts: 1
Joined: 24. March 2009 10:21

Re: Apache stürzt bei PDO ab

Postby Nobbie » 24. March 2009 11:29

Wenn es am bindParam liegt, würde ich da mal versuchen, nicht direkt $_POST['email'] zu referenzieren, sondern diese Variable auf eine Zwischenvariable zu schieben und diese dann anzugeben:

Code: Select all
...
        $bind_email = $_POST['email'];
        $stmt->bindParam(':email', $bind_email);
...


Laut Doku wird nämlich der zweite Parameter von bindParam via Referenz übergeben und erst beim execute evaluiert - aber das $_POST Array via Referenz zu übergeben erscheint mir in der Tat zweifelshaft, denn das ist ein Superglobales Array, welches eigentlich (von der Logik her) ReadOnly ist und vielleicht (ich kenne den Quellcode nicht) ein anderes Speichermanagement zugrunde liegt.

Ich rate einfach mal, dass der Fehler verschwindet, wenn Du es wie oben auf einen lokalen Zwischenwert schiebst.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Apache stürzt bei PDO ab

Postby Xardas der Dunkle » 24. March 2009 15:36

welches eigentlich (von der Logik her) ReadOnly ist und vielleicht (ich kenne den Quellcode nicht)

Was es, aber nicht ist.
Sonst währe das automatische entfernen von durch Magic-Quotes gesetzten \ z.B. nicht möglich.
Und genau das findet man in jedem größeren System.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Apache stürzt bei PDO ab

Postby Nobbie » 24. March 2009 18:41

Xardas der Dunkle wrote:
welches eigentlich (von der Logik her) ReadOnly ist und vielleicht (ich kenne den Quellcode nicht)

Was es, aber nicht ist.
Sonst währe das automatische entfernen von durch Magic-Quotes gesetzten \ z.B. nicht möglich.
Und genau das findet man in jedem größeren System.


Hast Du im Quellcode überprüft, ob das Entfernen der Slashes NACH der Wertzuweisung an $_POST und nicht WÄHREND oder VOR der Wertzuweisung erfolgt?

So oder so ist $_POST nicht wirklich ReadOnly, das weiß ich auch, aber hier gibt es irgendeinen Bug und manchmal liegt es an solchen Dingen - da ist es eben sinnvoll, so einen kleinen Workaround zu bauen, anstatt beliebig lange auf den notwendigen Patch zu warten.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Apache stürzt bei PDO ab

Postby Xardas der Dunkle » 24. March 2009 19:16

Hast Du im Quellcode überprüft, ob das Entfernen der Slashes NACH der Wertzuweisung an $_POST und nicht WÄHREND oder VOR der Wertzuweisung erfolgt?

Da das entfernen, in dem Fall, mit PHP Funktionen geschieht ... ist es ja wohl nach der Wertzuweisung ;).
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Apache stürzt bei PDO ab

Postby Nobbie » 24. March 2009 20:06

Xardas der Dunkle wrote:Da das entfernen, in dem Fall, mit PHP Funktionen geschieht ... ist es ja wohl nach der Wertzuweisung ;).


Im Gegenteil - da es eben diesbzgl. keine Funktionen gibt die einen Zustand des $_POST-Arrrays "vorher/hinterher" kennen, sondern nur Funktionen, die die notwendigen Flags abfragen/setzen, spricht überhaupt nichts dafür, dass erst $_POST bestückt wird und nach Aufruf (welcher Funktion?) verändert ist.

P.S.:
Sonst währe das automatische entfernen von durch Magic-Quotes gesetzten \ z.B. nicht möglich.
Und genau das findet man in jedem größeren System.


Welcher Funktionsaufruf in PHP bewirkt ein solches Verhalten auf das Array $_POST?
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Apache stürzt bei PDO ab

Postby Wiedmann » 24. March 2009 20:32

Zurzeit stürzt mein Apache immer ab wenn ich Sachen mit PDO mache.

Ein bekannter Bug im XAMPP, wo die die Lösung bestimmt selbst über die Suchfunktion findest.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 40 guests