2010-06-14 9 views
0

J'ai installé AjaXplorer (très bon explorateur de fichiers web), écrit en PHP, sur mon IIS (Windows Server 2008 SP2 x64). Cela fonctionne trop lentement pour moi.AjaXplorer [écrit en PHP] est trop lent sur IIS

Quelle peut être la cause? Y a-t-il des paramètres dans php.ini? Ou, peut-être, quelque chose ne va pas avec IIS? J'utilise PHP 32 bits, php-cgi.exe comme interpréteur.

Cordialement,

+0

Est-ce qu'il fonctionnait plus vite sur Apache auparavant? – mario

Répondre

1

Tout d'abord, CGI sera toujours lente. Il doit démarrer l'intégralité du runtime PHP pour chaque requête. Essayez d'utiliser FastCGI (If you're using IIS 7 ou if you're using IIS 6) ...

Après cela, essayez de voir pourquoi c'est lent. Est-ce parce que le script PHP prend beaucoup de temps à s'exécuter (ce qui signifie que c'est un problème de code), ou est-ce à cause d'une configuration du serveur. Pour tester, modifier ceci dans le début du point d'entrée du programme PHP (index.php):

define(START_TIME_CUSTOM, microtime(true)); 
function onEndTimeCompute() { 
    $timeTaken = microtime(true) - START_TIME_CUSTOM; 
    echo "Completed In: ".number_format($timeTaken, 4)." Seconds\n"; 
} 
register_shutdown_function('onEndTimeCompute'); 

qui écrivent Completed in n Seconds à la fin de la sortie générée (même si die() est appelé). Cela peut provoquer des problèmes si les appels Ajax doivent renvoyer JSON, donc ne le faites pas en règle générale, juste pour essayer de comprendre ce qui se passe. Donc, si la demande totale prend 1 seconde, vous voyez Completed in 0.004 Seconds, vous savez que le code PHP lui-même n'est pas le problème (que ce soit dans la configuration de l'interpréteur par CGI, ou ailleurs dans IIS). Cela devrait au moins vous montrer où le problème est ...

+0

Merci, ircmaxell! – noober