PHP APC unter Windows (Apache Xampp)

NeoGriever

Well-known member
ID: 348575
L
24 Juni 2008
902
61
Hallo

Seit 2 Tagen zerbrech ich mir den Kopf darüber, wie man unter Windows XP und unter Apache Xampp (PHP Version 5.2.5) die Erweiterung APC installiert/aktiviert.

Sämtliche Seiten bei Google labern zeug, was 1. kein Mensch versteht, 2. zur hälfte nicht funktioniert und 3. zur anderen hälfte mit Programmen zu bewerkstelligen wäre, welche man nirgends mehr findet.

So möchte ich mal drum bitten, ob entweder mir jemand (verständlich) erklärt, wie ich das hinbekommen kann oder, was mir lieber wär, mir jemand die apc.so-datei schickt. (Wobei ich bei letzterem nicht weiß, obs dann funzt)

Wäre echt ewig dankbar ... bin nämlich langsam echt am ende mit meiner geduld und dem Sch.....
 
Dann erklär mir mal, wie ich das hinbekommen soll.

Nun ja. Laut Anleitungen in sämtlichen sprachen (Deutsch, Englisch, Spanisch) muss man ja "nur" die source-dateien in c compilieren. Richtig? Naja. Hab mir DevCPP geladen, wo ja alles drin is. Das laden der Dateien geht problemlos. AAAAAABER. Der verlangt nach php.h und anderen dateien und zigtausend Fehler werden angezeigt. (1081 um genau zu sein)

Auch die angabe des Verzeichniss der PHP-Quelldateien unter den Compiler-Verzeichnissen ergab keinen Erfolg.

Hoffe, kannst mir helfen.
 
Datei herunterladen (pfad/zu/deinem/apache/etc/php5/ext/ und in der php.ini
Code:
extension = php_apc.dll
suchen und eintragen

danach apache neu starten und fertig

danach kannst du mithilfe von phpinfo() prüfen ob das Modul geladen wurde

*edit* Klick
 
kann gern meine php.ini mal hochladen ... der besagte eintrag ist aktiv. habe auch die php.exe schon in der cmd gestartet. keine fehler. jedoch wird das plugin NICHT geladen.

Sehr einfach zu sehen, wenn ich apc_fetch() ausführe. Da kommt nämlich sofort apc_fetch() sei keine vorhandene funktion.
 
apc benötigt auch PECL
ja lad mal eine info.php hoch, dann kann man evtl mehr sagen
 
Der verlangt nach php.h und anderen dateien und zigtausend Fehler werden angezeigt. (1081 um genau zu sein)
Die Extensions können natürlich nicht ohne den Core kompiliert werden. php.h befindet sich in /main.
Evtl. hast du den include-Pfad des Compilers nicht richtig gesetzt.
Hoffe, kannst mir helfen.
Viel mehr Hilfe kann ich dir allerdings in diese Richtung nicht anbieten. Ich lese zwar regelmäßig irgendwelche Sachen im Code nach, wenn ich wissen will, wie etwas in PHP implementiert is, hab aber PHP selber noch nie aus den Sourcen kompiliert, sondern immer nur Komplettpakete (Windows-Installer bzw. apt-get install unter Linux) benutzt.


Bei den DLLs von DasGuru musst du beachten, dass diese nur für eine ganz bestimmte Konstallation aus Plattform und PHP-Version kompiliert sind. Wenn das bei dir abweicht, geht höchst wahrscheinlich nicht. Drum muss man ja auch selber kompilieren, damit die Datei genau zum System passt.
Probier einfach mal alle Dateien durch, ob eine passt. Einen Erfolg merkst du schon, wenn du
Code:
php -i | findstr APC
machst. (Annahme: Das Modul steht im phpinfo() auch als "APC" drin)
 
*grml* es ist zum verzweifeln ...

Jetzt hab ich Apache KOMPLETT neu installiert. Also erst brav deinstalliert und dann neu installiert.

Wenn ich jetzt die DLL (habe die ersten 2 suchtreffer bei google genommen bei der suche nach "php_apc dll download" und beide ausprobiert) versuche zu nutzen, kommt folgendes.

gehtnichtjrt5e.png


PS: Ich habe die neueste version von apache von der herstellerseite geladen. *anmerk*

Langsam nervts wirklich ...

Kann das nich irgendwer auf seinem rechner zum laufen kriegen, mir das ganze als 7z zusammenpappen und mir dann schicken? Ich will doch nur nen fortschrittsbalken bei Dateiuploads realisieren ... kann doch nich angehn, dass das so nen hüftgelenkbruch ist -.-
 
Wenn ich jetzt die DLL (habe die ersten 2 suchtreffer bei google genommen bei der suche nach "php_apc dll download" und beide ausprobiert) versuche zu nutzen, kommt folgendes.
Wie gesagt: Die DLL muss genau zu deinem System passen. Nimmst du irgendeine andere, gehts nicht oder du kriegst solche Fehlermeldungen.
 
wenn du schon neu installierst, dann verwende doch gleich einen webserver der das fertig integriert hat

könnte da den ZendServer CE empfehlen (gratis)
Der hat das alles onboard und ein nettes UI

ansonsten besagt deine Fehlermeldung warscheinlich, dass die dll nicht richtig platziert wurde ;)
 
Hm. Welchen anderen Pfad außer

C:\xampp\php\ext\

würdeste mir denn empfehlen?

Na gut. Werde mal diesen ZendServer probieren.

Ist es da möglich, die Mysql-Datenbanken zu übernehmen?
 
sicherlich :)

einfach ein sql-dump anlegen und später in phpmyadmin wieder einspielen

(sql und phpmyadmin sind optional bei der zend-server installation)
 
Darauf hab ich geachtet.

MySql und PHPMyAdmin habe ich mitinstallieren lassen.

Darüber hinaus: Es sind etwa 200 mb mysql-daten, die übertragen werden müßten. Daher dachte ich, ich könnt einfach die mysql-dateien (ausm verzeichnis) rüberschieben.

Aber ok. Wirds halt ne halbe ewigkeit dauern, aber iwie musses ja gehn.

edit: Additional Modules: apc <<< endlich mal was erfreuliches in der phpinfo. *happy* nu erstma mitm mysql klarkommen XD
 
Sofern es eine neue SQLd Installation ist geht das nicht wirklich so einfach.
Wenn der SQLd nur "up-ge-dated" wird ist es möglich, dass Benutzer und Datenbanken bestehen bleiben.
Das siehst du, wenn du dich als Root in phpmyadmin einloggst ;)
 
Und wie komm ich jetzt mit Zend aufs PHPMyAdmin?

wie gewohnt scheints nicht zu funzen: https://localhost/phpmyadmin

*seufz*

Aber APC geht endlich *_* und nirgends, aber auch NIRGENDS wird Zend erwähnt, wenn man nach APC Apache suchst <_< was für nen stuss ey.

Aber vielen dank. Jetzt geht das endlich :D was für eine wohltat.
 
Kannst ruhig localhost bei mir schreiben :D is bei mir das selbe wie 127.0.0.1 :D

Und: Das hab ich jetzt alles raus. Nur ... ein heruntergeladenes Script, welches eigentlich den fortschritt des uploads anzeigen soll, funktioniert nicht, obwohl es auf dem server, wo es zum download steht, funktioniert o_o *verwirrt bin*

Kann mir da vielleicht jemand helfen?
 
du wärst warscheinlich schneller, wenn du ab und zu mal eine Suchmaschine fragen würdest...


  1. zend interface öffnen
  2. auf "Server Setup" klicken
  3. auf "extentions" klicken
  4. nach "uploadprogress" suchen
  5. neben diesem auf "Turn On" klicken
  6. PHP über das Interface neu starten
und ja, das mit mit localhost ist mir bekannt,
das eine ist die IP und das andere der Hostname
 
Nöp.

Hat keine Änderung herbeigeführt. Rückgabewert ist und bleibt false. :/

Habsch vielleicht was an meinem Code falsch? Oo

Formular in der index.php
HTML:
<textarea rows=5 cols=100 id="ausg"></textarea>
<iframe id="hidden_frame" name="hidden_frame" width=0 height=0 border=0 frameborder=0 style="width:0px;height:0px;display:none;"></iframe>
<form onSubmit="init_actualize()" action="upload_file.php" method="post" target="hidden_frame" enctype="multipart/form-data">
         <input type="hidden" value="<?=md5(uniqid());?>" name="APC_UPLOAD_PROGRESS" id="APC_UPLOAD_PROGRESS"></input>
    <label for="file">Filename:</label>
    <input type="file" name="uploader_file_0" id="uploader_file_0" />
    <br>
    <input type="submit" name="submit" value="Hochladen" />
</form>

JavaScript in der index.php
Code:
function check_upload_pos() {
    $.ajax({
        url: "ajax/checkulpos.php?progress_key=" + $("#APC_UPLOAD_PROGRESS").val(),
        async: true,
        success: function(returnvalue) {
            $("#ausg").val(returnvalue);
        }
    });
}
function init_actualize() {
    setTimeout(check_upload_pos,500);
}

checkulpos.php
PHP:
if(isset($_GET['progress_key'])) {
    $status = apc_fetch('upload_'.$_GET['progress_key']);
    echo json_encode($status);
    exit;
}

Info: die JQuery-Libary ist logischerweise eingebunden ;) Die neueste gepackte versteht sich.

Wo liegt mein Denkfehler?
 
und irgendwelche Fehlermeldungen ?

error-reporting mal anschalten und evtl Firebug installieren