2015-11-13 63 views
2

Я использую laravel 5 для моего проекта, и все работает нормально, но в последнее время я столкнулся с этой проблемой, которую я понял.Невозможно запустить сервер разработки laravel на linux

[email protected] ~/sonel_ims_project/ims_eneo $ php artisan serve 
Laravel development server started on http://localhost:8000/ 
[Fri Nov 13 12:00:56 2015] Failed to listen on localhost:8000 (reason: Address already in use) 

Я попытался [email protected] ~ $ sudo netstat -plnt и получить

Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address   Foreign Address   State  PID/Program name 
tcp  0  0 192.168.122.1:53  0.0.0.0:*    LISTEN  1840/dnsmasq  
tcp  0  0 127.0.0.1:631   0.0.0.0:*    LISTEN  1985/cupsd  
tcp  0  0 127.0.0.1:8888   0.0.0.0:*    LISTEN  7563/php-5.6.3 
tcp  0  0 0.0.0.0:25    0.0.0.0:*    LISTEN  1656/master  
tcp  0  0 0.0.0.0:443    0.0.0.0:*    LISTEN  6966/httpd  
tcp  0  0 0.0.0.0:445    0.0.0.0:*    LISTEN  740/smbd   
tcp  0  0 127.0.0.1:6942   0.0.0.0:*    LISTEN  7442/java  
tcp  0  0 127.0.0.1:8000   0.0.0.0:*    LISTEN  6931/php-5.6.3 
tcp  0  0 0.0.0.0:6667   0.0.0.0:*    LISTEN  1539/ircd  
tcp  0  0 0.0.0.0:139    0.0.0.0:*    LISTEN  740/smbd   
tcp  0  0 127.0.0.1:63342   0.0.0.0:*    LISTEN  7442/java  
tcp  0  0 0.0.0.0:80    0.0.0.0:*    LISTEN  6966/httpd  
tcp6  0  0 :::21     :::*     LISTEN  7337/proftpd: (acce 
tcp6  0  0 ::1:631     :::*     LISTEN  1985/cupsd  
tcp6  0  0 :::3128     :::*     LISTEN  1416/squid3  
tcp6  0  0 :::25     :::*     LISTEN  1656/master  
tcp6  0  0 :::445     :::*     LISTEN  740/smbd   
tcp6  0  0 :::3306     :::*     LISTEN  7343/mysqld  
tcp6  0  0 :::139     :::*     LISTEN  740/smbd 

Тогда я меняю порт как так php artisan serve --port="8888" , но получить подобную ошибку, как показано ниже, через некоторое время:

Laravel development server started on http://localhost:8888/ 
[Fri Nov 13 12:01:02 2015] Failed to listen on localhost:8888 (reason: Address already in use) 

Первый раз это случилось , это был java, используя порт 8000, поэтому я убил процесс и запустил сервер, и он сработал. После остановки и перезапуска я получаю ту же ошибку. В чем может быть проблема (поскольку я сказал, что все работает нормально, кроме как сейчас, и я не сделал никакого серьезного обновления)?

ответ

2

Это именно то, что я сделал для этой проблемы.

  1. I выход PhpStorm
  2. sudo netstat -plnt
  3. kill 7563 (Process using port 8888)
  4. kill 6931 (Process using port 8000)
  5. sudo /opt/lampp/lampp restart (Перезапуск мой сервер altogther)
  6. php artisan serve
  7. Launch PhpStorm

Теперь все работает нормально. Что вызвало проблему в любом случае?

1

Используя lsof, вы можете видеть, что слушает порт.

sudo lsof -i :80 

Измените 80 на какой-либо порт, который вам интересен. Вам нужно быть root или sudo.

2

перезапустите сервер Apache

sudo apache restart 

И снова запустить свой проект в другом порту

php artisan serve --port=2020 
7

Ваше предыдущее развертывание в локальном режиме уже запущено, поэтому вы не можете запустить php artisan serve. Вы можете решить проблему, выполнив эту команду в терминале:

  1. ps -ef | grep php вы увидите этот список:

    Гуджарат 6690 3500 0 05:55 очка/1 00:00:00 PHP artisan serve
    gujarat 6694 6690 0 05:55 pts/1 00:00:00 sh -c '/ usr/bin/php5' -S localhost: 8000 '/ home/gujarat/WebDevelopment/quickstart-basic'/server .php
    gujarat 6695 6694 0 05:55 pts/1 00:00:00/usr/bin/php5 -S localhost: 8000 /home/gujarat/WebDevelopment/quickstart-basic/server.PHP
    Гуджарат 7436 3500 0 06:26 PTS/1 00:00:00 Grep --color = авто PHP

  2. Теперь убить его с помощью: sudo kill 6690 если все еще существуют, то использовать эту sudo kill -9 6690 вы увидите, что это результат:

    [1] + Погиб PHP ремесленник служить

Теперь вы можете служить вашим местным использованием php artisan serve снова

0

Ну проблема может быть это не остановило ожидаемый путь ранее, например, с помощью CTRL + C так, что вы можете сделать, это проверить запущенные процессы PHP и убить их 1 на 1.

я) Запустите ps -A с терминала, затем определите идентификаторы процесса php (в большинстве случаев они два)

ii) Запустите sudo kill -9 pid#, соответствующий php pids.

iii) Запустить php artisan serve и он будет работать.

-1

Я пришел к этому вопросу сегодня и нашел простое решение.

Я побежал локальный сервер, введя это Если вы хотите, чтобы выйти из текущего работающего сервера, просто выйти из Iterm и перезапустить его с помощью «iTerm2»

php artisan serve 

. Вы должны быть хорошими!

Смежные вопросы