Я использую laravel 5 для своего проекта, и все работает нормально, но в последнее время я столкнулся с этой проблемой, которую я понял.
devboy@devboy-hp ~/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)
Я пробовал devboy@devboy-hp ~ $ 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, поэтому я убил процесс и запустил сервер, и он сработал. После остановки и перезапуска я получаю ту же ошибку. В чем может быть проблема (поскольку я сказал, что все работает нормально, кроме как сейчас, и я не сделал никакого серьезного обновления)?
Предыдущее развертывание в вашем локальном компьютере уже запущено, поэтому вы не можете запустить php artisan serve
. Вы можете решить свою проблему, выполнив эту команду в своем терминале:
ps -ef | grep php
ps -ef | grep php
вы увидите этот список:
gujarat 6690 3500 0 05:55 pts / 1 00:00:00 php artisan служить
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
gujarat 7436 3500 0 06:26 pts / 1 00:00:00 grep –color = auto php
Теперь убейте его, используя: sudo kill 6690
если все еще существует, используйте этот sudo kill -9 6690
вы увидите этот результат:
[1] + убитый php artisan
Теперь вы можете снова обслуживать своих местных пользователей, используя php artisan serve
перезагрузите сервер Apache
sudo apache restart
И еще раз запустите свой проект в другом порту
php artisan serve --port=2020
Это именно то, что я сделал для проблемы.
sudo netstat -plnt
kill 7563 (Process using port 8888)
kill 6931 (Process using port 8000)
sudo /opt/lampp/lampp restart
(перезагрузите мой сервер) php artisan serve
Теперь все работает нормально. Что вызвало проблему в любом случае?
Используя lsof, вы можете видеть, что слушает порт.
sudo lsof -i :80
Измените 80 на любой интересующий вас порт. Вам нужно быть root или sudo.
Возможно, проблема в том, что раньше он не останавливал ожидаемый путь, например, с помощью CTRL + C, поэтому вы можете проверить запуск php-процессов и убить их 1 на 1.
i) Запустите ps -A
из терминала, затем определите идентификаторы процесса php (в большинстве случаев они равны двум)
ii) Запустите sudo kill -9 pid#
соответствующий php pids.
iii) Запустите php artisan serve
и он будет работать.
Сегодня я пришел к этому вопросу и нашел простое решение.
Я запустил локальный сервер, набрав его через iTMP2,
php artisan serve
Если вы хотите выйти из текущего текущего сервера, просто закройте iTerm и перезапустите его. Тебе должно быть хорошо!