APC verursacht Probleme durch Caching

Status
Für weitere Antworten geschlossen.

MrNiceGuy

Benutzer
Mitglied seit
01. Okt 2009
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Moin moin!

Ich bin gerade am verzweifeln, Grund dafür ist das mitinstallierte APC im PHP, das meiner Meinung nach dafür sorgt, dass das Script, dass ich geschrieben habe, nun vorerst fehlerhaft läuft.

Grund hierfür: Ich programmiere Webseiten in PHP und nutzen zum Testen die DS dafür. Blöd ist jetzt nur, dass ich bei einem Script in der Test-Phase einen Buchstabendreher, der zu meinem Problem führt.

Kurze Erläuterung der Ablaufweise: Ich schicke ein HTML-Formular an sich selbst (also an das gleiche PHP-Script, über dass das Formular ausgegeben wurde). Nach einigen Bedingungen soll dann weitergeleitet werden auf eine andere Seite. Dies geschieht mittels header-Funktion in Verbindung mit "Location: script.php". Soweit so gut. Durch den Buchstabendreher kam ich jedoch nicht auf eine existierende Seite, weshalb ich eine Fehlermeldung erhalte. Blöderweise akzeptiert PHP meine Änderung jedoch nicht und schickt mich von nun an IMMER auf die nicht existierende Seite, obwohl das Script ansich eigentlich neu geladen wurde (herausgefunden anhand einer Test-Ausgabe, die auch erfolgte; Die Datei scheint ansich also nicht mehr gecached zu sein). Browser-Caches usw. sind bereits geleert worden, was jedoch keinen Erfolg brachte. Meine Vermutung liegt daher bei APC, dass da irgendetwas im Cache hängt, was nun die Weiterleitung immer wieder an die falsche Stelle erfolgen lässt - obwohl das Script schon neu eingelesen wurde (siehe oben).
Ein apc_clear_cache(); und apc_clear_cache('user'); brachte leider ebensowenig, wie ein Neustart des Apache. Deaktivieren kann ich APC leider auch nicht, da beim Start des Apache apc.enabled in der php.ini (unter /usr/syno/etc) immer wieder automatisch von 0 auf 1 gesetzt wird.

Ich bin am verzweifeln und hoffe, dass mir hier jemand helfen kann! Danke schonmal im Voraus!
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Vielleicht kannst ja gerade mal die Stelle posten, wo du dir was selbst schickst ...

Itari
 

MrNiceGuy

Benutzer
Mitglied seit
01. Okt 2009
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Das Script sieht gekürzt so aus:

PHP:
<?php
if (isset ($_POST['submitSave']) === TRUE)
{
  // Hier noch einige Abfragen, Bedingungen usw.

  header ('Location: script2.php');
}
?>
<html>
<body>
<form method="post" action="script.php">
<p><input type="checkbox" name="DoNotShowAgain" value="TRUE" /> Beim nächsten Login nicht wieder anzeigen</p>
<p><input type="submit" name="submitSave" value="Speichern" /></p>
</form>
</body>
</html>

Wie gesagt: Ich habe bei dem Script schon testweise mal ein Echo eingebaut, um zu prüfen, ob das Script vom APC neu geladen wird und das wurde es. Leider werde ich statt auf "script2.php" auf die falsche Schreibweise weitergeleitet. Alles Andere an dem Script arbeitet wie es soll (die Datenbank-Einträge werden korrekt verarbeitet, etc.). Nur die Weiterleitung funktioniert nicht, wie sie soll :(

Eigentlich soll APC ja auch nur eine TTL von 300 Sekunden haben, die sind nun schon lange vorbei, aber ich befürchte ja - da das Script ja auch schon neu geladen wurde - dass das ein anderes Problem ist?! Kann man APC denn irgendwie deaktivieren, ohne dass es gleich beim Start von Apache wieder aktiviert wird? Bzw. Wieso ist das überhaupt so, dass es wieder eingeschaltet wird?
 

MrNiceGuy

Benutzer
Mitglied seit
01. Okt 2009
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Jetzt habe ich mal eine gewisse Zeit vergehen lassen und das Script läuft wieder. Ich habe keine Ahnung, warum das jetzt der Fall war, da Reboot der DS, Löschen aller Caches und Verläufe usw alles nichts gebracht hat. Es ist irgendwie merkwürdig.

Es bleibt aber die Frage im Raum stehen: Wie kann man APC auf der DS abschalten?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Es bleibt aber die Frage im Raum stehen: Wie kann man APC auf der DS abschalten?

Du meinst jetzt aber nicht im DS-Manager unter Webdienste den Schaltknopf PHP-Cache aktivieren/deaktivieren?

Itari
 

MrNiceGuy

Benutzer
Mitglied seit
01. Okt 2009
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
*argh* Doch, genau das war es. Ich wusste garnicht, dass man das da abschalten kann, mich hat immer nur gewundert, warum das automatisch wieder aktiviert wurde... Manchmal sollte man eben doch die GUI verwenden *grml*

Danke für die Hilfe!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat