memory_limit wird ignoriert?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • memory_limit wird ignoriert?

    Hallo Leute,

    ich habe folgendes Problem:
    Ich programmiere auf meinem Rechner mit der XAMPP Umgebung und habe in einem Skript eine Datenbankabfrage mit 2200 Datensätzen. Mein memory_limit ist auf 128M festgelegt. Es funktioniert auch alles wunderbar.

    Nun habe ich das Skript auf meinem Server hochgeladen und habe es gestartet. Nach/Während der Abfrage der 2200 Datensätze bricht das Skript (Cronjob) ohne Fehlermeldung ab. Ich habe vermutet, dass es am memory_limit liegt, also habe ich dieses auf 128M erhöht. Mit dem Ergebnis, dass das Skript immer noch nicht läuft. Wenn ich die Datenbankabfrage nun auf bspw. 500 Datensätze kürze läuft das Skript ohne Problem. Folglich habe ich das memory_limit auf 2048M erhöht (max. Arbeitsspeicher des Servers). Aber das Skript bricht bei der Datenbankabfrage immer noch ab.
    Ich muss dazu sagen, dass in der PHP Info das memory_limit so angezeigt wird:

    Code:
    Server:
    memory_limit	2147483648	2147483648
    
    
    XAMPP:
    memory_limit	128M	128M

    Ist das egal, ob das in M oder ohne "Maßeinheit" angezeigt wird?


    Könnt ihr mir weiterhelfen? Kann es sein, dass mein Server das memory_limit intern runtersetzt? Und wenn nicht, warum bricht es bei dem selben memory_limit wie auf meinem PC mit XAMPP ab? Oder gibt es noch eine andere Variable in der PHP-Konfig, die das beeinflussen könnte?

    Gruß Tarlar
    Zuletzt geändert von Tarlar; 10.11.2008, 22:38.

  • #2
    z.B. SUN sein Solaris bietet die Möglichkeit Laufzeit und Speicherverbrauch für jeden User Prozess zu begrenzen. Massenhoster nutzen dieses Feature durchaus.

    Zuletzt geändert von combie; 10.11.2008, 22:50.
    Wir werden alle sterben

    Kommentar


    • #3
      Die Sache ist aber so, dass ich einen eigenen Server habe und da erwarte ich eigentlich, dass die Skript nicht begrenzt werden...

      Edit: In meiner PHP-Info steht: "disable-cli"

      Kommentar


      • #4
        Wie du hier nachlesen kannst, greifen diese php.ini Einstellungen sowieso, im CLI Modus, nur sehr eingeschränkt.
        http://www.php.net/manual/de/features.commandline.php

        Also dürfte das dann nicht dein Problem sein.

        Mit welcher Meldung bricht PHP denn ab?

        Edit: In meiner PHP-Info steht: "disable-cli"
        Ja ja...
        Das ist das Modul!
        Aber du sagtes ja "CronJob" und dann wirst du ja wohl das CLI nutzen..
        Wir werden alle sterben

        Kommentar


        • #5
          Keine Fehlermeldung. Das Skript hört einfach auf zu rechnen. Selbst error_reporting(E_ALL) führt zu keiner Fehlermeldung!

          Kommentar


          • #6
            PHP bricht nicht ohne Meldung ab
            .....

            Loggen aktivieren und testen.
            Eine Protokolldatei führen, bis du den Fehler findest.

            .....

            Viel Spass...


            PS:
            2200 Datensätze ist noch nicht soooo viel, dass PHP daran unbedingt sterben müsste.
            Wir werden alle sterben

            Kommentar

            Lädt...
            X