Я использую встроенный сервер PHP так:
$ composer serve
> php -S localhost:8000 -t public/
Но время истекло ..?
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "php -S localhost:8080 -t public/" exceeded the timeout of 300 seconds.
Итак, я попытался запустить его снова:
$ composer serve
> php -S localhost:8000 -t public/
[Thu May 26 21:31:51 2016] Failed to listen on localhost:8000 (reason: Address already in use)
Script php -S localhost:8000 -t public/ handling the serve event returned with error code 1
Почему тот же порт, на котором работал сервер до истечения времени ожидания, все еще используется? Могу ли я остановить все экземпляры PHP, встроенные в сервер?
Если это имеет значение, ниже находится мой файл composer.json:
{
.
.
.
"scripts": {
"serve": "php -S localhost:8000 -t public/"}
}
Проблема в том, что у композитора есть тайм-аут по умолчанию через 300 секунд.
При выполнении команды вы можете использовать --timeout=0
это отключает тайм-аут. В вашем примере команда будет выглядеть так composer run-script server --timeout=0
Вы можете установить время ожидания процесса в вашем composer.json
файл как это:
{
...
"scripts": {
"start": "php -S 127.0.0.1:80 .router.php -t public"},
"config": {
"process-timeout": 0
}
}
и запустите веб-сервер следующим образом:
$ composer start