2016-05-26 38 views
1

我使用PHP內置的服務器,像這樣:當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/" 
    } 
} 

回答

3

的問題是,作曲家擁有300秒後的默認超時。

執行命令時,您可以使用--timeout=0,這會禁用超時。在你的例子中,該命令看起來像composer run-script server --timeout=0

+2

我明白了,謝謝。可能只是回到輸入完整的「php -S ...」,然後我只是喜歡只輸入「作曲家服務」的便利:)我認爲沒有辦法將--timeout值放入作曲家.json文件? – Martyn