Question

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

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 interprète.

Cordialement,

Était-ce utile?

La solution

Tout d'abord, CGI sera toujours lente. Il doit démarrer le runtime complet de PHP pour chaque demande. Essayez d'utiliser FastCGI ( Si vous utilisez IIS 7 ou si vous utilisez IIS 6 ) ...

Après cela, essayez de voir pourquoi il est lent. Est-ce parce que le script PHP prend beaucoup de temps pour exécuter (ce qui signifie qu'il est une question de code), ou est-ce à cause d'une configuration de 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');

Ce Completed in n Seconds d'écriture à la fin de la sortie générée (même si die() est appelé). Il peut causer des problèmes si les appels Ajax devraient revenir JSON, alors 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, mais vous voyez Completed in 0.004 Seconds, vous savez que le code PHP est lui-même pas la question (il est soit dans la configuration de l'interprète par CGI, ou ailleurs dans IIS) ...

Cela devrait au moins vous montrer où le problème est ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top