XAMPP sur Win7 trop lent
Je cours XAMPP 1.7.1 sur Windows 7 Ultimate. Tout (Apache & MySQL) fonctionne bien sauf pour la vitesse.
Quand j'ouvre http://localhost/, je dois attendre probablement 1-3 secondes pour voir une page Web. À mon avis, il devrait être au plus quelques centaines de millisecondes.
Faits de Base:
- en attendant de charger une page Web localhost, la barre d'état indique "en attente de localhost..."
- le processeur est toujours inactif (aucune activité accrue pendant le chargement)
- sur localhost n'est pas exigeant des scripts PHP, les problèmes sont quand il y a phpinfo simple () même s'il y a de longs scripts lourds.
- la désactivation du serveur MySQL n'affecte pas la vitesse
- mon PC: AMD Turion 64 X2; 1,6 GHz dual-core, 2 GB RAM, 100 GB HDD
J'ai fait un petit script PHP de référence simple pour tester les vitesses HDD / CSS:
<?php
function getmicrotime() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function testReadWrite() {
$timeStart = getmicrotime();
$filename = "test.txt";
file_put_contents( $filename, '' ); // prepare empty file
for ( $i = 0; $i < 1000; $i++ ) {
$a = file_get_contents( $filename );
file_put_contents( $filename, $a . '.' );
}
return round( getmicrotime() - $timeStart, 3 );
}
function testCpuSpeed() {
$timeStart = getmicrotime();
$var = '';
for ( $i = 0; $i < 100000; $i++ ) {
$var = sha1( md5( $i * $i * $i * $i * $i * $i * $i * $i * $i * $i ) );
}
return round( getmicrotime() - $timeStart, 3 );
}
echo "Read/write #1: " . testReadWrite() . "<BR>";
echo "Read/write #2: " . testReadWrite() . "<BR>";
echo "Read/write #3: " . testReadWrite() . "<BR>";
echo "CPU speed #1: " . testCpuSpeed() . "<BR>";
echo "CPU speed #2: " . testCpuSpeed() . "<BR>";
echo "CPU speed #3: " . testCpuSpeed() . "<BR>";
?>
Résultats de mon PC:
- lecture / écriture: 5.134 / 3.431 / 3.494
- Vitesse du processeur: 0.816 / 0.767 / 0.795
Un résultats de l'hébergement web:
- lecture / écriture: 7.768 / 7.69 / 7.371
- Vitesse du processeur: 0.232 / 0.234 / 0.234
Un des résultats de mon serveur (comme ordinateur inactif presque comme mon PC, mais un peu plus rapide):
- lecture / écriture: 0.088 / 0.168 / 0.185
- Vitesse du processeur: 0.191 / 0.189 / 0.189
Donc, je ne pense pas que ce soit à cause de la vitesse de mon PC, mais je suis sûr qu'il y a un autre problème. Avez-vous une certaine expérience avec la vitesse XAMPP sur Windows 7 (ou Vista)?
Merci.
16 réponses
Que diriez-vous de donner Wamp Server un essai?
Le fichier d'installation est beaucoup plus petit (16 Mo) que XAMPP (44 Mo).
Si XAMP est lent sous windows 7, les paramètres du pare-feu ne font aucune différence.
L'Antivirus Security Essentials ne fait aucune différence.
Pour résoudre ce problème, les deux choses qui font une grande différence sont:
1) dans windows\system32\drivers\etc\hosts ajoutez les lignes suivantes:
127.0.0.1 127.0.0.1
127.0.0.1 localhost
2) Si vous utilisez PHP, dans le php XAMP.fichier ini décommenter la ligne eaccelerator:
Zend_extension = "C:\xampp\php\ext\php_eaccelerator_ts.dll "
Après ces deux changements, redémarrez Apache et ce sera beaucoup plus rapide.
Pas sûr que cela pourrait être la cause de vos problèmes, mais ce pourrait être une idée : avez-vous une ligne qui ressemble à ceci :
::1 localhost
Dans vos hôtes (il devrait être quelque part comme C:\WINDOWS\system32\drivers\etc\hosts
, si je me souviens bien) fichier ?
Si oui, commentez la ligne en ajoutant un #
au début.
De cette façon, la seule ligne qui concerne localhost devrait être
127.0.0.1 localhost
Qui est une adresse IPv4; et celle que vous avez commentée étant une adresse IPv6 - ce qui n'est tout à fait pas utile pour ce que vous essayez de faire.
Comme je l'ai dit, Je ne suis pas sûr que votre problème soit lié à cela, mais j'ai vu cette sugestion aider plusieurs fois pour des problèmes assez similaires à votre (c'est-à-dire attendre longtemps avant de faire quoi que ce soit sur le serveur).
Commentez les lignes en PHP.ini avec XDEBUG:
;[XDebug]
;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
;xdebug.profiler_append = 0
;xdebug.profiler_enable = 1
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "C:\xampp\tmp"
;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
;xdebug.remote_enable = 0
;xdebug.remote_handler = "dbgp"
;debug.remote_host = "127.0.0.1"
;xdebug.trace_output_dir = "C:\xampp\tmp"
I disabled Bitdefeender -> no result I added lines to hosts -> no result I disabled xdebug - x2-x3 faster
Cordialement Barto
J'ai eu un problème similaire avec Win 7 + XAMPP. Le problème a été causé par le logiciel my antivirus. Quand il a été activé, même la page PHP la plus simple prenait plus d'une demi-seconde à ouvrir. Les gros scripts PHP avec beaucoup de require_once () enchaînés ont pris plus de 1,5 secondes. Avec antivirus désactivé, tout s'éclairait rapidement (moins de 100 milisecondes par pages simples, et environ 500 milisecondes pour des choses vraiment lourdes (100+ require_once enchaîné ())).
J'utilise bitdeffender et voici la solution pour cela:
- solution Simple-il suffit de basculer bitdefender sur
game mode
lorsque vous travaillez avec xampp - solution "avancée" - allez dans
Antivirus -> Shield -> Advanced Settings -> Exclusions Tab
et ajoutez une exclusion pour httpd.exe (situé dans votre installation xampp/apache/bin/). Ensuite, allez dansAntivirus -> Exclusions
et ajoutez une exclusion pour le répertoire où résident vos fichiers php.
N'oubliez pas de redémarrer apache après les étapes ci-dessus.
En option, vous pouvez installer eaccelerator pour accélérer les choses encore plus.
Comme je l'ai côté note: J'ai trouvé WAMP moins mature en tant que projet que XAMPP.
Remarque 2: La meilleure solution est d'utiliser votre vieux PC en tant que serveur linux et tout fonctionnera comme un charme :-)
Après avoir lu plusieurs réponses-non d'entre eux ont aidé (j'ai même supprimé mon antivirus).
Ce qui m'a aidé de façon spectaculaire est désactivant xdebug . Maintenant, tout est devenu très rapide.
Deux choses peuvent causer ce problème.Logiciel Anitivirus et les paramètres dans hostfile
1) dans windows\system32\drivers\etc\hosts ajouter les lignes suivantes:
127.0.0.1 127.0.0.1
127.0.0.1 localhost
2) dans votre antivirus, excluez le dossier document_root qui contient vos fichiers (par exemple c:/www ou c:/xampp/htdoc etc). Pour tester cela, vous pouvez également désactiver votre antivirus temporairement, mais la solution à long terme est d'exclure le dossier et les sous-dossiers
Dans C:\WINDOWS\system32\drivers\etc\hosts
j'ai eu ces lignes commentées
# 127.0.0.1 localhost
# ::1 localhost
Et environ 100 autres lignes d'autres règles.
La solution est d'effacer toutes ces règles ou de décommenter 127.0.0.1 localhost
et de les mettre en haut.
Mon BUG-XAMPP très lent
Mon ralentissement Xampp et l'arrêt éventuel ont été causés par des messages d'Avertissements remplissant le journal PHP-Lire
1-Localhost / 127.0.0.1-aucune aide
2-virus interférences logicielles-aucune aide
Interférence à 3 Ports passant à 8080-aucune aide
4 - Wamp - même chose - pas d'aide
Finalement, les choses ont complètement échoué avec 500 erreurs.
C:\xampp\php\logs\php_error_log était presque un MB (957K)
Aussi big pour notepadd++ (mon premier indice que j'étais sur quelque chose) et notepad a pris plusieurs minutes à rendre.
Des milliers de messages du type "Strict" et "Avertissement"
Fixer
A changé le php.ini display_errors = On to = Off "il y a plusieurs autres commutateurs d'erreur on/off, mais celui-ci l'a fait pour moi."
Journal Nenamed
Redémarrez apache et mysql
La Vie Est Belle.
La connexion à la base de données en utilisant 127.0.0.1 au lieu de "localhost" a fonctionné pour moi.
Mais j'ai cherché une autre solution et j'ai trouvé ceci:
Dans votre mA.ini fichier, décommenter la ligne suivante:
# Change here for bind listening
# bind-address="127.0.0.1"
# bind-address = ::1 # for ipv6
Vous finirez par avoir:
# Change here for bind listening
bind-address="127.0.0.1"
# bind-address = ::1 # for ipv6
Redémarrez votre serveur mysql et les pages devraient se charger très rapidement sans le délai de 2-3 secondes.
En outre, avec cette solution, vous n'avez pas besoin de modifier votre connexion dans votre code DB connect, vous pouvez continuer à utiliser "localhost" au lieu de "127.0.0.1"
Au risque d'indiquer l'évidence -- vérifiez la taille de votre fichier hosts. Mon fichier hosts avait gonflé à 450K en raison de Spybot ajoutant des exceptions pour tous les sites de logiciels malveillants qui ont jamais existé, même si ces sites étaient la plupart du temps ne sont plus actifs. Spybot a commenté ces 10000 + entrées avec une date de copyright de 2008, les rendant inutiles de toute façon.
Je ne sais pas si d'autres logiciels de protection contre les logiciels espions le font, mais le fichier hosts doit être assez petit pour que XAMPP n'ait pas à se désabonner les URL d'exception chaque fois qu'il affiche une page. BTW si vous avez installé un logiciel fissuré, que je ne tolère pas bien sûr, veillez à ne pas supprimer les exceptions hosts qui bloquent les sites de vérification de validation en ligne.
J'ai le même problème....
Ce que j'ai fait est que j'ai désinstallé xampp qui était sur C: drive
.
L'a installé sur un autre lecteur (E:)
...
Et ne sais pas mais ça marche bien et vite....
J'utilise Avast antivirus et résolu le problème avec un simple clic. Cliquez avec le bouton droit sur L'icône Avast et sélectionnez Mode silencieux / jeu. C'est tout.
J'ai eu ce problème, il n'était pas lié à l'anti-virus ou au pare-feu. a été facilement corrigé en s'assurant que l'hôte local recherchait 127.0.0.1.
J'ai trouvé de bons conseils ici:
[http://www.devside.net/wamp-server/wamp-is-running-very-slow
Les instructions étaient les suivantes: Modifier le fichier – C:\Windows\System32\drivers\etc\hosts
Commentaire la ligne en ajoutant un " # " devant:
::1 localhost
Si "localhost" est résolu à l'adresse IP "::1″, la requête (lorsqu'elle ne parvient pas à trouver une socket d'écoute IPv6) sera redirigée vers l'adresse IP 127.0.0.1 (via timeout, fall-back ou un autre mécanisme), provoquant des retards inutiles pour les connexions (par exemple, généralement de 1 seconde à 30 secondes).
Assurez - vous que "localhost" est correctement mappé à L'adresse de bouclage IPv4 " 127.0.0.1 "(... que cette ligne n'est pas commentée): 127.0.0.1 localhost
J'ai eu le même problème il y a un an et j'ai finalement découvert ce qui pose problème ici. que faire si votre journal (accès,erreurs) les fichiers vont à un tel énorme qu'il faudra un temps pour ouvrir même avec le bloc-notes?
Oui, vous avez bien entendu que xampp va créer ces fichiers.
Maintenant, si nous avons un problème, il y a aussi une solution. on peut faire pivoter les fichiers journaux pour tous les jours. voici les étapes
- modifiez votre httpd.conf dans ce chemin "Xampp / apache / conf /httpd.conf "
- , Vous trouverez
CustomLog "logs/access.log" common
- remplacer par
CustomLog "|bin/rotatelogs.exe logs/access_%y-%m-%d.log 86400" common
- , Vous pouvez faire la même chose avec logs/error.enregistrez les fichiers.
- pour plus d'informations sur le programme de rotation, veuillez suivre https://httpd.apache.org/docs/2.4/programs/rotatelogs.html
Je suis également d'accord avec disble Xdebug aidera aussi.
C'est ce que j'ai fait et cela a rendu XAMPP plus rapide:
-
A attribué une adresse de bouclage nouvelle et inutilisée à mon site dans le fichier hosts (C:\Windows\System32\drivers\etc\hosts). En d'autres mots, j'ai évité d'utiliser 127.0.0.1 utilisé pour d'autres sites:
127.0.0.2 example.com
-
Dans Apache httpd.fichier conf ajouté:
Listen 127.0.0.2: 80
-
, Comme j'ai plusieurs sites, j'ai des sous-dossiers sous htdocs pour chaque site. Dans cet exemple le nom du dossier est example.com, et c'est là que mon site se trouve. Donc ajouté un VirtualHost, encore une fois dans mon httpd.fichier conf, comme ceci:
<VirtualHost 127.0.0.2:80> ServerAdmin myemail@hotmail.com DocumentRoot "C:/xampp/htdocs/example.com" ServerName example.com ErrorLog "c:/xampp/apache/logs/example.log" CustomLog "c:/xampp/apache/logs/example-access.log" common </VirtualHost>
Apache Redémarré.
Après cela, visite example.com dans le navigateur se charge très rapidement.