NeoGriever: -.- APC unter Windows - Was für ne Scheiße ist das denn?

Kann mir mal jetzt jemand erklären, wie zum verf****ten Teufel nochmal ich dieses besch****ne APC bei XAMPP Apache Webserver unter Windows zum laufen bekomme.

Ich hab jetzt schon 3 seiten der Google-Suchergebnisse durch und wirklich GARNIX hilft. Die labern alle von PHPIze oder "pecl install apc" oder "Selber compilieren", aber nix davon funktioniert.

Ich will die verdammte sch...eibenkleisterische kacke endlich fertig bekommen. Ich dreh sowas von durch. Und wenn mir hier irgendwer die apc.so-datei hochlädt.

Also kann mir das mal ENDLICH IRGENDWER ERKLÄREN!?!?!?!?

Seit stunden sitz ich an diesem mistproblem ... -.- Dass ich langsam die Schnauze voll hab, dürfte ja wohl klar sein.

PS: PHP 5.2.5 ist installiert.

  1. Moin Moin!

    Also kann mir das mal ENDLICH IRGENDWER ERKLÄREN!?!?!?!?

    Seit stunden sitz ich an diesem mistproblem ... -.- Dass ich langsam die Schnauze voll hab, dürfte ja wohl klar sein.

    Würdest Du bitte Deinen Verbaldurchfall woanders abkippen? Zum Beispiel beim Hersteller der Software oder wenigstens in dem Thread, in dem Du mit Deinem Problem angefangen hast.

    Danke,
    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Ändert nix dran, dass ich da nach wie vor keine antwort krieg ...

      1. Hello,

        Ändert nix dran, dass ich da nach wie vor keine antwort krieg ...

        Könnte das am Thema und der Form der Fragestellung liegen?

        Deine Frage ist doch nun schon weit oberhalb des typischen Schwierigkeitsgrades angesiedelt. Da gibt es hier nicht mehr allzu viele Leute, die sie überhaupt beantworten können. Und wenn Du da dann auch noch ungeduldig und ausfallend wirst, denken die sich eher ihren Teil, als sich auf eine Diskussion einzulassen.

        Schau Dir also erstmal die von mir geposteten Links an in
        https://forum.selfhtml.org/?t=206321&m=1400305
        und stelle fest, ob Du PHP auf einem Windows für ein Windows schon mal selber compiliert hast. Das ist keinesfalls trivial, wenn man es das erste Mal macht. Erst, wenn das mit unveränderten Sourcen reibungslos klappt, kannst Du dich mMn an die Veränderung der Sourcen heranwagen.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
  2. Hello,

    Ich will die verdammte sch...eibenkleisterische kacke endlich fertig bekommen. Ich dreh sowas von durch. Und wenn mir hier irgendwer die apc.so-datei hochlädt.

    Das wird dir nichts nützen eine Shared-Object-Datei für Linux/Unix zu haben. Du benötigst eine *.DLL

    Und die muss dann in der Konfigurationsdatei des Xampp auch eingebunden und aktiviert werden.

    PS: PHP 5.2.5 ist installiert.

    Hattest Du nicht geschrieben, dass Xampp installiert sei?
    Benutzt Du jetzt doch Apache udn PHP "lose"?

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hello,

      Ich will die verdammte sch...eibenkleisterische kacke endlich fertig bekommen. Ich dreh sowas von durch. Und wenn mir hier irgendwer die apc.so-datei hochlädt.

      Das wird dir nichts nützen eine Shared-Object-Datei für Linux/Unix zu haben. Du benötigst eine *.DLL

      Und die muss dann in der Konfigurationsdatei des Xampp auch eingebunden und aktiviert werden.

      Und außerdem steht hier:

      http://www.php.net/manual/en/apc.installation.php:
      A DLL for this PECL extension is currently unavailable. See also the building on Windows section.

      Da musst Du also PHP für Windows selber kompilieren, damit es funktionieren kann.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
    2. Xampp Apache mit integriertem PHP 5.2.5

      so meint ich das.

      Und: Dass ich ne DLL brauch, ist mir jetzt auch klar.

      Kurioserweise: Die DLL ist im verzeichnis \php\ext\ auch vorhanden unter dem namen php_apc.dll und in der php.ini steht die zeile extensions=php_apc.dll, natürlich ohne semikolon davor. Ist also nicht auskommentiert.

      Trotzdem wird apc nicht geladen. Auch im phpinfo steht nix.

      Inzwischen hab ich umgesattelt auf ZendServer, wo das von haus aus drin ist. (Wird aber wirklich NIRGENDS als alternative erwähnt ... <_<)

      Aber nun steh ich vorm nächsten problem ... das script, was ich mir, laut anleitung, zusammengebaut hab, arbeitet nicht so, wie es soll (apc_fetch(...) liefert nix zurück)

      1. Hello,

        Xampp Apache mit integriertem PHP 5.2.5

        so meint ich das.

        Und: Dass ich ne DLL brauch, ist mir jetzt auch klar.

        soso :-)

        Kurioserweise: Die DLL ist im verzeichnis \php\ext\ auch vorhanden unter dem namen php_apc.dll und in der php.ini steht die zeile extensions=php_apc.dll, natürlich ohne semikolon davor. Ist also nicht auskommentiert.

        Hast Du denn auch das richtige Extension_dir angegeben, in dem dann nach den Extensions gesucht wird? Ohne diese Angabe wid die zum Laden vorgemerkte Extension nicht geladen.
        Das sollte einem auch klar werden, wenn man sich anschaut, dass die unter "extensions=" nur mit ihrem Namen angegeben werden ohne jeden Pfad.

        Trotzdem wird apc nicht geladen. Auch im phpinfo steht nix.

        Aber nun steh ich vorm nächsten problem ... das script, was ich mir, laut anleitung, zusammengebaut hab, arbeitet nicht so, wie es soll (apc_fetch(...) liefert nix zurück)

        Erstmal phpinfo() und get_derfined_functions() und get_declared_classes() hefragen, ob alles ordnungsgemäß zur Verfügung steht.

        http://www.php.net/manual/de/function.get-defined-functions.php
        http://www.php.net/manual/de/function.get-declared-classes.php

        Dann sehen wir weiter.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Fangen wir mal an:

          Da apache xampp das zwar von haus aus "besitzt", wie es das sagt, aber eben nicht aktiv ist (die zeile extensions=php_apc.dll ist mittels semikolon auskommentiert. als erweiterungspfad ist der ordner "ext" angegeben.), wenns aktiv ist (semikolon weggenommen), wird es dennoch überhaupt nicht geladen. (Auch wenn man die php.exe in der kommandozeile öffnet, kommt KEIN fehler, der darauf schließen lässt, dass die php_apc.dll nicht geladen hätte werden können)

          Im PHPInfo steht garnix über APC oder Alternate PHP Cache oder dergleichen.

          Die zwei funktionen habe ich auch probiert. Alles funzt einwandfrei. Aber von APC-Funktionen (z. b. apc_fetch) ist kein sterbenswörtchen erwähnt.

          Nach langer Diskussion bin ich umgesattelt auf ZendServer, welcher APC angeblich "funktionierend" integriert hat.

          Jut. Nach Installation und konfiguration im ZendPanel gibts die funktion apc_fetch nun auch ...

          nur feuert die Funktion nun permanent false. bzw. gibt keinen Rückgabewert. Trotz 1:1 umsetzung laut anleitung für Dateiupload mit Fortschirttsanzeige. Dafür ist das nämlich überall als notwendig deklariert.

          Jetzt wo ichs hab, gehts immer noch nicht.

          Ich habe es inzwischen sogar mit Flash probiert, einen Upload mit Fortschrittsbalken zu realisieren. Aber nix geht. Ich bin am Ende mit meinen Nerven.

          PS: Ich will KEINE vorgefertigten "Einfach einbinden und nutzen"-scripts oder flash-dinger. Ich will es selber programmieren. Einfach nen EINE-DATEI-UPLOAD-MIT-PROZENTANZEIGE will ich selber umgesetzt bekommen.

          Erstens, weil ich wissen will, wie es genau funktioniert und 2. weil ich autodidakt bin und das dadurch effektiv lerne.

          1. Hi,

            PS: Ich will KEINE vorgefertigten "Einfach einbinden und nutzen"-scripts oder flash-dinger. Ich will es selber programmieren. Einfach nen EINE-DATEI-UPLOAD-MIT-PROZENTANZEIGE will ich selber umgesetzt bekommen.

            Erstens, weil ich wissen will, wie es genau funktioniert und 2. weil ich autodidakt bin und das dadurch effektiv lerne.

            Eine ziemlich wichtige Grundvoraussetzung, wenn man selber Software in diesem Bereich entwickeln will, sind halbwegs passable Englischkenntnisse.

            So lange du also nur „laberst“, „aber ich kapiere kein Wort von den englischen Anleitungen und "hilfen", was die da labern“, solltest du erst mal an deinem Verständnis für englischsprachige Fachliteratur arbeiten.

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
            1. Naja. Mein Englisch ist ausreichend genug. Aber wenn dam it mehr Fachbegriffen als mit allgemeinem Englisch umhergeworfen wird, hab ich keine Lust, den Google Translator zu versuchen zu interpretieren.

              Wie schon in der anderen Antwort erwähnt, habe ich es nach einigen Stunden Einarbeitung mit HTML5 umgesetzt bekommen.

              Funzt natürlich noch nicht in allen browsern. Aber wenigstens siehts im Firefox anständig aus, wie ichs haben wollte.

          2. Hello,

            Die zwei funktionen habe ich auch probiert. Alles funzt einwandfrei. Aber von APC-Funktionen (z. b. apc_fetch) ist kein sterbenswörtchen erwähnt.

            Tja.

            Nach langer Diskussion bin ich umgesattelt auf ZendServer, welcher APC angeblich "funktionierend" integriert hat.

            Jut. Nach Installation und konfiguration im ZendPanel gibts die funktion apc_fetch nun auch ...

            nur feuert die Funktion nun permanent false. bzw. gibt keinen Rückgabewert. Trotz 1:1 umsetzung laut anleitung für Dateiupload mit Fortschirttsanzeige. Dafür ist das nämlich überall als notwendig deklariert.

            Ich habe es inzwischen sogar mit Flash probiert, einen Upload mit Fortschrittsbalken zu realisieren. Aber nix geht. Ich bin am Ende mit meinen Nerven.

            MMn benötigt man zusätzlich eine Erweiterung für den Apache dafür.

            apache2-mod-upload-progress
            oder
                libapache2-mod-upload-progress

            Das gibt es nicht unbedingt in allen Distributionen. Bei Debian 6 ist die zweite Variante verfügbar. Ob es da nun auch etwas vergleichbares für den WAMPP gibt, vermag ich nicht zu sagen.

            Stell doch mal irgendwo Deine Anleitung online oder einen Link darauf, wenn sie von jemand Anderem stammt.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. Hello,

              Jut. Nach Installation und konfiguration im ZendPanel gibts die funktion apc_fetch nun auch ...

              Ich habe das APC-Zeugs und die libapache2-mod-upload-progress eben mal auf meinem Debian-6-Testhost installiert. Da kommt bei PHP lediglich ein Klasse APCIterator hinzu und folgende Funktionen:

              [1162] => apc_add
                          [1166] => apc_bin_dump
                          [1168] => apc_bin_dumpfile
                          [1167] => apc_bin_load
                          [1169] => apc_bin_loadfile
                          [1152] => apc_cache_info
                          [1165] => apc_cas
                          [1153] => apc_clear_cache
                          [1161] => apc_compile_file
                          [1164] => apc_dec
                          [1159] => apc_define_constants
                          [1157] => apc_delete
                          [1158] => apc_delete_file
                          [1156] => apc_fetch
                          [1163] => apc_inc
                          [1160] => apc_load_constants
                          [1154] => apc_sma_info

              Was die nun bewirken, kann ich noch nicht nachvollziehen.

              Ich schaue mir das aber gerne mal an, wenn Du den Demoquellcode mal rausrückst.

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
              1. Naja. Das nützt mir unter Windows garnix.

                Habe APC aufgegeben. Hab jetzt mit HTML5 gearbietet. Hat zwar jetzt mehrere Stunden Einarbeitungszeit gebraucht, jedoch weiß ich jetzt, wies geht und kanns innerhalb von Minuten nachbauen.

                APC is scheiße. HTML5 soll endlich standard werden.

                1. Hello,

                  Naja. Das nützt mir unter Windows garnix.

                  Wer sagt das denn? Wenn eine Musterlösung überhaupt erst einmal läuft, kann man sie dann immer noch portieren und weiß aber, dass die Logik dahinter schonmal stimmig ist.

                  Habe APC aufgegeben. Hab jetzt mit HTML5 gearbietet. Hat zwar jetzt mehrere Stunden Einarbeitungszeit gebraucht, jedoch weiß ich jetzt, wies geht und kanns innerhalb von Minuten nachbauen.

                  Bekomme ich nun trotzdem noch deine Beispiellösung im Quelltext?

                  Liebe Grüße aus dem schönen Oberharz

                  Tom vom Berg

                  --
                   ☻_
                  /▌
                  / \ Nur selber lernen macht schlau
                  http://bergpost.annerschbarrich.de
                  1. Gerne

                    var b = new bar(254,100,0);  
                    $(document).ready(function() {  
                    	$("#progressbar").append(b.barHtmlObject);  
                    });  
                    var xhr = new XMLHttpRequest();  
                    function resetform() {  
                    	$("#success").fadeOut(500,function() {  
                    		$("#thefile").fadeIn(500);  
                    	});  
                    }  
                    function onsuccessHandler(evt) {  
                    	b.set(100);  
                    	$("#progressbar").fadeOut(500,function() {  
                    		b.set(0);  
                    		$("#success").fadeIn(500);  
                    	});  
                    }  
                    function resulttxt(r) {  
                    	if(r.originalTarget.readyState == 4 && r.originalTarget.status == 200) {  
                    		$("#success").html(r.originalTarget.responseText);  
                    	}  
                    }  
                    function onprogressHandler(evt) {  
                    	var percent = Math.floor(evt.loaded / evt.total * 100);  
                    	b.set(percent);  
                    }  
                    function start_upload(fileInput) {  
                    	$(fileInput).fadeOut(500,function() {  
                    		$("#progressbar").fadeIn(500,function() {  
                    			var file = fileInput.files[0];  
                    			var ext = file.name.substring(file.name.lastIndexOf(".") + 1).toLowerCase();  
                    			var allowed = false;  
                    			for(var i = 0;i < allowedfiletypes.length;i++) {  
                    				if(allowedfiletypes[i] == ext) {  
                    					allowed = true;  
                    					break;  
                    				}  
                    			}  
                    			if(!allowed) {  
                    				$("#progressbar").fadeOut(500,function() {  
                    					b.set(0);  
                    					$("#success").html("Die Datei wurde nicht gespeichert. Die Dateiendung ist nicht erlaubt.<br><input type=\"button\" value=\"Andere Datei auswählen\" onClick=\"resetform()\"></input>");  
                    					$("#success").fadeIn(500);  
                    				});  
                    			}else{  
                    				xhr.upload.addEventListener('progress', onprogressHandler, false);  
                    				xhr.upload.addEventListener('load', onsuccessHandler, false);  
                    				xhr.onreadystatechange = resulttxt;  
                    				xhr.overrideMimeType("text/plain; charset=ISO-8859-1");  
                    				xhr.open('POST', 'ulprogress.php?fn='+file.name, true);  
                    				xhr.send(file);  
                    			}  
                    		});  
                    	});  
                    }
                    

                    So wurde es umgesetzt. Hatte jetzt nicht so lust, das im einzelnenen auszusortieren. :) Da steckt noch ne eigene Javascript-Klasse drin, welche die ProgressBar anzeigt und leicht steuern lässt.

                    Ich finds ganz gut. Wenn aber noch was "optimiert" werden könnte, könnt ihr mir das natürlich gern sagen.

  3. Hi,

    Dass ich langsam die Schnauze voll hab, dürfte ja wohl klar sein.

    Probier's mit runter schlucken, statt die Sch... hier im Forum rauszukotzen.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?