2015-12-27 42 views
5

założyłem włóczęga skrzynki laravel/Homestead v0.4.0.
Instaluję zagrodę V3.0.1, używając kompozytor.
końcu uruchomić "włóczęgę Up" i następnie "Vagrant ssh" i jestem wewnątrz Homestead VM, ale ...
Xdebug w Vagrant laravel/zagroda V0.4.0/v3.0.1

Przypuszcza się m.in. Xdebug, ale nie ma ...
kiedy uruchom phpinfo() nie ma informacji o Xdebug.
Również w /etc/php/7.0/fpm/php.ini lub w folderze config.d nie ma konfiguracji dla Xdebug.

Moim ostatecznym celem jest, aby być w stanie do debugowania projektu laravel z NetBeans IDE. Projekt działa wewnątrz maszyny wirtualnej, ale utknąłem w zrozumieniu, dlaczego nie ma Xdebug w maszynie wirtualnej. Każda pomoc w osiągnięciu tego jest bardzo cenna.

+0

widzę też. Wygląda na to, że XDebug został usunięty w tej najnowszej wersji. Podejmie kolejne instrukcje, jak je wdrożyć. – maiorano84

+0

taylor dodał xdebug w [v0.4.1] (https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.4.1) –

Odpowiedz

5

EDYCJA: Od wersji 0.4.1 XDebug został ponownie umieszczony w Homestead. Kompilowanie XDebug ze źródła nie powinno być już konieczne.


W katalogu ~/.homestead, nie powinno być plik o nazwie after.sh. To zapewni ci środki, dzięki którym będziesz mógł wykonywać własne polecenia po zakończeniu udostępniania Homestead.

Kopiuj i wklej następujący do pliku after.sh:

#!/bin/sh 

# Install Xdebug 
git clone git://github.com/xdebug/xdebug.git 
cd xdebug 
phpize 
./configure --enable-xdebug 
make 
make install 

# Configure Xdebug 
cat > /etc/php/mods-available/xdebug.ini <<EOL 
zend_extension=xdebug.so 
xdebug.default_enable=1 
xdebug.remote_enable=1 
xdebug.remote_port=9000 
xdebug.remote_autostart=1 
xdebug.remote_connect_back=1 
EOL 
ln -s /etc/php/mods-available/xdebug.ini /etc/php/7.0/fpm/conf.d/20-xdebug.ini 
service php7.0-fpm restart 

Po zakończeniu uruchomić vagrant destroy a vagrant up lub uruchom vagrant provision aby upewnić się, że komenda powłoki wykonuje poprawnie.

Ta wersja XDebug jest bezpośrednim klon oddziału Github Master. Ten oddział jest uważany za niestabilny. Gdy konto github Xdebug doda gałąź do wersji 2.4 lub 2.5, należy zaktualizować polecenie powłoki, aby pobrać ten oddział przed uruchomieniem różnych konfiguracji i poleceń.

Dodatkowo, jestem tylko dodanie Xdebug konfiguracji FPM. Nie dodaję go do konfiguracji CLI. Prawdopodobnie zobaczysz Xdebug tylko w rozmowie phpinfo(), a nie na rozmowie php -i.

Poza tym, ja testowałem to na moim własnym środowisku:

  • wersji box Homestead 0,4
  • GitHub klon laravel/zagroda 3.0.1
  • PHPStorm IDE

Wszystko wydaje działać zgodnie z oczekiwaniami. Daj mi znać, jeśli to pomoże.

+0

Dziękuję! Zainstalowałem ręcznie Xdebug 2.4.0RC3 w Homestead. Potem podążałem za tymi krokami, aby skonfigurować netbeans: http://www.papayasoft.com/2013/02/25/debugging-vagrant-wirtualnebox-vm-netbeans/. Teraz działa idealnie. – udubniewski

+0

Cieszę się, że mogę Ci pomóc. Jeśli to odpowiedziałeś na twoje pytanie, pamiętaj, aby oznaczyć je jako udzielone, aby inni mogli je również zobaczyć. – maiorano84

0

To wszystko, czego potrzebujesz w ~/.homestead/after.sh:

#!/bin/sh 

# If you would like to do some extra provisioning you may 
# add any commands you wish to this file and they will 
# be run after the Homestead machine is provisioned. 
apt-get install php-xdebug 
4

Wystarczy uruchomić ten w swojej zagrodzie

php -v 

sudo phpenmod xdebug 

sudo service nginx restart 
+0

Awesome man. Jesteś guru. Wielkie dzięki – hhsadiq