APC Upload Tracking mit FastCGI

Hallo zusammen,

ich hab mich seit gestern abend mit dem APC Upload Tracking in PHP 5.2
befasst. Ich habe dafür PHP 5.2.4, APC 3.0.14 mit FastCGI unter Apache
2.0 auf einem Linux-System installiert. Es könnte sogar funktionieren,
wäre da nicht eine klitze kleine Einschränkung: Man kann mit apc_fetch()
nur Daten abrufen, die vom eigenen PHP-Prozess stammen. Der Prozess, der
gerade den Upload bearbeitet, ist aber dummerweise durch selbigen
blockiert und steht daher nicht für weitere HTTP-Zugriffe (wie z.B. dem
Abrufen des Upload-Fortschrittes per AJAX) zur Verfügung. Außerdem
verwendet FastCGI (vermutlich) eine Art Load-Balancing, sodass jeder
Zugriff von einem anderen PHP-Prozess (sofern gerade mehrere gestartet
sind) verarbeitet wird. Ich bekomme also nach dem erfolgreichen Upload
der Datei ca. alle 9 Zugriffe einen Upload-Status zurück, nicht jedoch
während des Uploads.

So, nun meine Frage: Ist das so beabsichtigt, dass dieses APC-Feature
nicht mit FastCGI funktioniert? Geht das nur mit mod_php? Oder hab ich
da irgendwas falsch konfiguriert auf meinem Server? Alles andere
funktioniert ja, APC läuft und cacht Dateien.

Meine Erkenntnisse über die PHP-Prozesse und wer sie gestartet hat, habe
ich mit 'ps fu' und getmypid() gesammelt. PHP-fcgi wird durch den
suexec-Wrapper gestartet, der in der ps-Ausgabe aber nicht auftaucht
(vermutlich ein exec() ohne fork(), ich kenne suexec nicht so genau von
innen).

Mein Test-Code ist ursprünglich mit Hilfe dieses Beitrags entstanden:
http://www.ajax-community.de/sonstige-probleme/4028-ladebalk en-upload.html#post19776

--
Yves Goergen <nospam.list ät unclassified.de>
Yves Goergen [ Mi, 21 November 2007 20:27 ] [ ID #1876059 ]
PHP » de.comp.lang.php.misc » APC Upload Tracking mit FastCGI

Vorheriges Thema: PHP als Mini-HTTP-Server
Nächstes Thema: Problem mit SOAP/Transport/HTTP.php, open_basedir und CURLOPT_FOLLOWLOCATION