web-dev-qa-db-fra.com

PHP sous Windows avec XAMPP 100 fois trop lent

PHP s'exécute tellement lentement sur mon bureau Windows que phpMyAdmin prend quelques minutes pour ouvrir une base de données. Voici une comparaison du temps nécessaire pour exécuter un simple programme de test PHP:

  • Ordinateur Windows 8.1 exécutant XAMPP: 3597 ms
  • hébergement partagé iPage: 65 ms
  • Hébergement partagé A2Hosting: 26 ms

Voici le programme de test…

<?php
$rStartTime = microtime(true);
$countTo = 100000;
$a = 0;
//$countTo = $countTo * 100;
for ($x = 0; $x <= $countTo; $x++) {
    $a = sqrt(pow($x, 2));
}
$rMs = floor((microtime(true) - $rStartTime) * 1000);
echo 'timer done, countTo=' . $a . ' ms=' . $rMs;

Le programme de test est exécuté sans débogage en entrant " http: //localhost/timer.php " dans Firefox.

La machine locale est normalement très rapide. C'est en cours…

  • Windows 8.1 
  • XAMPP 1.8.3 (panneau de configuration v3.2.1)
  • Apache 2.4.4 (la dernière est 2.4.20)
  • PHP 5.5.3
  • Antimalware = Windows Defender
  • IDE = PHPStorm 10.0.2 

Qu'est-ce qui fait que PHP fonctionne si lentement?

10
CaptureWiz

J'ai trouvé que le problème était Xdebug dans xampp\php\php.ini. Voici les résultats d'essayer de nombreuses solutions trouvées sur le Web:

Exécutez XAMPP en tant qu'administrateur et redémarrez le serveur: 3617 ms.

Dans xampp/Apache/conf/httpd.conf, remplacez localhost par 127.0.0.1 et redémarrez le serveur: 3639 ms

Dans Windows/System32/drivers/etc/hôtes, ajoutez “127.0.0.1 127.0.0.1” & “127.0.0.1 localhost” et redémarrez Windows: 3960 ms

Dans Windows/System32/drivers/etc/hôtes, commentez “127.0.0.1 localhost” et redémarrez Windows: 3659 ms.

Dans php.ini, ne commentez pas zend_extension = "C:\xampp\php\ext\php _eaccelerator_ ts.dll" et redémarrez le serveur: 3643 ms

Dans php.ini, définissez xdebug .remote_enable = 0: 3598 ms

Dans php.ini, définissez remote_Host = "localhost": 3593 ms

Dans php.ini, définissez xdebug .profiler_enable = 0: 249 ms

Dans php.ini, commentez toutes les instructions Xdebug: 27 ms - Succès!

La partie triste est que je fais des erreurs et que j'ai besoin de Xdebug :-(

20
CaptureWiz

Je résous mon problème avec le paramètre xdebug idekey (xdebug.idekey = "xdebug1") et l’extension chrome helper ( https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc ).

* N'oubliez pas de désactiver remote_autostart (xdebug.remote_autostart = 0)

Activer uniquement le débogage (xdebug) à la demande, en utilisant le paramètre idekey, donc si le débogage n'est pas nécessaire, le traitement php peut être plus rapide/normal, déclencher par un bouton avec l'extension chrome

J'utilise xampp 1.8.3 sur Windows 10 64 bits, J'utilise un idekey personnalisé, xdebug.idekey = "xdebug1", identique à l'aide de xdebug helper

[XDebug]
zend_extension = "E:\xampp183\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "E:\xampp183\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_autostart=0
xdebug.idekey="xdebug1"
xdebug.remote_handler = "dbgp"
xdebug.remote_Host = "127.0.0.1"
xdebug.trace_output_dir = "E:\xampp183\tmp"
xdebug.remote_log="E:\xampp183\tmp\xdebug\xdebug.log"

 setting1

 enter image description here

 enter image description here

Maintenant, le point d'arrêt/débogage n'est activé que si une session est requise via l'aide de xdebug

J'ai exclu mon dossier de site Web et mon dossier xampp dans Windows Defender et tout a été résolu ici.

5
Carsten Wartmann

J'ai eu le même problème avec xampp, et le problème était WINDOWS DEFENDER, si vous désactivez la protection Windows Defender, xampp est plus rapide (vitesse normale). Vous pouvez également rechercher le dossier xampp comme une exclusion dans Windows Defender. c'est la solution.

Résolu php - WAMP/XAMPP réagit très lentement par rapport à localhost/wordpress  

Le moyen le plus simple est d'aller dans c répertoire> xamp> dossier php> rechercher php.ini> cliquer dessus puis trouver max_execution_time et le renvoyer à max_execution_time = 300> maintenant redémarrer xamp> tout est fait :)

max_execution_time=300
0
Ashar Zafar

pour moi a été une amélioration après avoir changé tout ce qui précède pour passer de https: // localhost à https://127.0.0.1

0
Daniel D

Pour les utilisateurs de Chrome: j'ai découvert (après avoir essayé tous les conseils ci-dessus) que l'extension de chrome "Evernote Web Clipper" ralentit également chrome . Lors du chargement d'une URL simple sans aucune de ces informations, il inclut: : 0,7ms/0,25ms

0
Fuxi

J'ai compris qu'Eclipse ne terminait pas correctement une session XDebug. J'ai résolu le problème en redémarrant la session de débogage et en la terminant correctement.

0
Zudi