6
votes

Vagrant On Windows W / Precise64 exécute PHP très lentement

J'ai donc Vagrant mis en place avec des hôtes virtuels sur ma machine de développement, mais lorsque j'essaie un écho très simple de 'Hello World', il est suspendu à 10 secondes avant de traiter le fichier. Les fichiers HTML rendent très rapidement. Où puis-je commencer à résoudre ce problème?

Après avoir effectué des recherches, d'autres se sont plaints de performances lentes avec PHP et VirtualBox / Vagrant. Beaucoup ont affirmé que l'utilisation du dossier partagé entre hôte / invité en est la cause de cela.

  • J'ai essayé de modifier l'emplacement de dossier partagé de sorte qu'il ne soit pas pointé sur / var / www /
  • J'ai également essayé de supprimer complètement la configuration de dossier partagé en supprimant la déclaration 'config.vm.synced_folder'

    Dans chaque cas, j'ai ré-provisionné la boîte, mais obtenez toujours les mêmes problèmes de performance, au moins un blocage de 10 secondes lors de la frappe d'un script PHP simple dans le navigateur Web.

    Autres choses que j'ai essayées:

    • Exécution du même script PHP de la ligne de commande. Cela fonctionne juste bien. Réponse immédiate.
    • frapper une page HTML à partir du navigateur Web. Aussi, j'ai une réponse rapide.

      Cela me conduit à croire que le problème est d'une manière ou d'une autre avec la partie Apache + PHP de la pile.

      Vous ne savez pas quoi faire d'autre.


0 commentaires

5 Réponses :


0
votes

Vous pouvez attribuer plus de ressources de l'ordinateur hôte avec

config.vm.provider :virtualbox do |vb|

  vb.customize ["modifyvm", :id, "--memory", "3072", "--cpus", "2"]
end


0 commentaires

0
votes

J'avais généré ma configuration vagabonde avec https://puppet.com/ et j'utilise maintenant https://github.com/bryannielsen/laravel4-vagrant qui a été beaucoup plus rapide.


0 commentaires

4
votes

Après avoir lu avec cette même situation, supprimer l'utilisation de Xdebug était la seule "solution" que je pouvais trouver.

Prise en compte d'une configuration de Vagrant de base par défaut de https://puppet.com/ comme affiche originale: < / p>

  • Supprimé xdebug lignes de "Manifestes / Default.PP"
  • Dossier supprimé "Modules / XDEBUG /"
  • Vagrant Destroy
  • Vagrant Up

    Notes:

    • Je suppose qu'il ne comprenait pas "xdebug" sur le site mentionné serait la meilleure solution, mais j'ai déjà eu des modifications sur ma configuration vagabonde.
    • Bien que la solution "idéale", celle-ci résout la lenteur mentionnée et transformerait ce problème sur "Comment activer et exécuter correctement xdebug sur des hôtes Windows"

      J'espère que cela vous aide!


1 commentaires

Je ne peux que commenter mes propres réponses, alors je vais ici :) On dirait que dans les constructions récentes de PuPhpet, cela est déjà résolu. Au moins, j'ai eu une nouvelle construction, inséré le module XDEBUG et configez-vous dans mon projet actuel et maintenant son travail OK. De plus, @ Mike.Darke résolution au problème est beaucoup mieux que ma "solution", donc si vous avez vraiment besoin de xdebug dans votre vagabond, vous savez quoi faire.



7
votes

Je viens de contourner ce problème aussi.

Suivre d'Ivanicus, il est lié à la configuration XDebug. Il semble que la demande est suspendue pendant que Xdebug essaie de se connecter à un client de débogage à distance. J'ai été capable de résoudre le problème en réglant ... xxx

J'ai ensuite défini la valeur xdebug.remote_host sur l'adresse IP de la machine hôte, vous devez vous assurer que Votre machine invitée peut se connecter à l'hôte sur l'IP que vous avez définie. Cela me permet de déboguer dans PHPSTorm Toujours.

Il ne semble pas que vous puissiez actuellement définir l'option xdebug.remote_connect_back dans les paramètres INI sur https://www.puphpet.com/ Donc, je devais modifier manuellement la modifier dans le PHP.ini


1 commentaires

Ligne de commande: PHP -ini Affiche l'emplacement du fichier INI de XDEBUG pour CLI - autre souvent pour Apache.



1
votes

Beaucoup ont affirmé que l'utilisation du dossier partagé entre hôte / invité est la cause de cette

J'ai trouvé que c'était définitivement le problème dans mon cas.

https://docs.vagrantup.com/v2/synced-folders/ nfs.html

Comme j'utilise Windows, je n'ai pas été en mesure d'utiliser l'option NFS non plus.

Pour tester que c'était le cas, j'ai déplacé tous les fichiers SQLite que j'avais accès à la boîte à l'aide de SFTP et que les performances sont revenues aux niveaux que j'attendais.


1 commentaires

Pour que NFS fonctionne avec le dossier Sync sous Windows consiste à installer un plug-in Vagrant: Plugin Vagrant Installez Vagrant-Winnfsd . J'ai eu la page de chargement de la page de 7 à 10 secondes à 400-500ms