APC und der Aufruf über die Konsole

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

  • APC und der Aufruf über die Konsole

    Hallo Leute,

    ist es eigendlich machbar dass bei installierten APC ich auch Variablen ins RAM Cachen kann wenn das Script auf der Konsole mittels root aufgerufen wird?

    Wenn ich das PHP-Script normal über den Browser aufrufe funktioniert das ganze ja.
    Jetzt würde ich aber gerne bestimmte Arrays die doch ziehlich groß sind mittels APC cachen.
    Aufgerufen wird das Script aber mittels CRON-Tab als root.
    PHP-Code:
    /usr/bin/php5 /srv/www/xxxx/html/xxxx/script.php 
    Wenn ich hier versuche mittels
    PHP-Code:
    apc_add 'eindeutigerName' 'Hallo Du da'86400); 
    einen Wert in den Cache zu bekommen scheitere ich daran, dass er die Function nicht findet.

    Vielleicht hab ich nur etwas übersehen - aber es wäre schön wenns funktionieren würde.
    bidgo - Benzin im Blut
    Wir wollen Dich und Deine Karre
    Videoblog & Bilderblog zu verschiedenen Bereichen

  • #2
    [glaskugel]
    Vermutlich verwendet die CLI Version eine andere php.ini als die "web" Version.
    Kontrollieren und anpassen.
    [/glaskugel]
    Wir werden alle sterben

    Kommentar


    • #3
      Ach Du meine Güte....
      So einfach und doch soweit entfernt

      Klar wirde hier eine andere php.ini benutzt und schon funktionierts

      Vielen Dank für den Blick in Deine Kristallkugel!
      bidgo - Benzin im Blut
      Wir wollen Dich und Deine Karre
      Videoblog & Bilderblog zu verschiedenen Bereichen

      Kommentar


      • #4
        Eine Frage hätte ich aber dennoch, weil ich mich grad so schön herumspiele.

        APC wird nun über die Konsole erkannt und speichert auch mittels apc_store('key', 'Inhalt'); Variablen und deren Inhalt ins RAM.

        Lässt sich auch feststellen mit dem mitgelieferten Infoscript, wo man unter "User Cache Entries" die gespeicherten Keys sieht und auch deren Inhalt auslesen kann.

        Jetzt müsste ich eigendlich wenn ich das Script - in dem sich dann untenstehender Code befindet - über die Konsole aufrufe der Inhalt aus dem Cache angezeigt werden - spätestens nach dem 2. Aufruf des Scriptes, da ja beim Erstaufruf die Arrays erstmal ins RAM geladen werden.

        PHP-Code:
        $result apc_fetch('ISSp');
        if(
        $result === false) {
            include_once(
        $droot 'tmp/datei_mit_Arrays.php');
            
        apc_store('ISSp'$PK86400);
            
        apc_store('ISSw'$WO86400);
            
        apc_store('ISSk'$KR86400);
            echo 
        "ARRAY's wurden in den RAM geladen und waren vorher nicht verfuegbar!\n\n";
        } else {
            echo 
        "ARRAY's aus RAM sind verfuegbar!\n\n";

        Was ich halt jetzt nicht verstehe ist, warum er jedesmal wenn ich das Script ausführe, er die ISSp nicht erkennt und jedesmal die apc_store(); ausführt.

        Aber genau das will ich ja damit umgehen, dass er jedesmal eine 700KB große PHP-Datei includen muß.
        Ich will die einmal includen müssen, die Arrays im Cache für eine bestimmte Zeit ablegen und dann mittels apc_fetch(); darauf zurückgreifen können.

        Der Cache soll nach 24h erneuert werden, da sich die Arrays nicht stündlich ändern.
        Das PHP-Script wird jedoch in unregelmäßigen Abständen - je nachdem wie lange es braucht - über eine Shelldatei nach 2 Sekunden Pause neu ausgeführt.

        Ich hab sicher wieder irgendwas übersehen.

        EDIT:
        Hab noch vergessen den Auzug der php.ini anzugeben
        PHP-Code:
        [APC]
        extension=apc.so
        apc
        .enabled=1
        apc
        .shm_segments=1
        apc
        .shm_size=32
        apc
        .ttl=7200
        apc
        .user_ttl=7200
        apc
        .gc_ttl=3600
        apc
        .num_files_hint=1024
        apc
        .enable_cli=1
        apc
        .include_once_override=
        Zuletzt geändert von web4free; 03.06.2008, 12:35.
        bidgo - Benzin im Blut
        Wir wollen Dich und Deine Karre
        Videoblog & Bilderblog zu verschiedenen Bereichen

        Kommentar


        • #5
          Lass den Cronjob doch das Script via http laden (wget).

          Kommentar


          • #6
            Ich bin mir nicht sicher ob WGET hier das ideale Umfeld ist, da hier ja auch immer unnötigerweise der APACHE bemüht werden muß.
            Ich denke, dass ich Performance mäßig dadurch Einbußen in Kauf nehmen muß.
            bidgo - Benzin im Blut
            Wir wollen Dich und Deine Karre
            Videoblog & Bilderblog zu verschiedenen Bereichen

            Kommentar

            Lädt...
            X