我通過PHP文件一樣執行一個守護進程文件:EXEC PHP需要很長的時間
echo exec("php -q /var/www/project/server.php");
,但它需要這麼長的時間,而且也注意到,它開創了相同的像兩個過程:
5558 ? S 0:00 sh -c php -q /var/www/project/server.php
5559 ? S 0:00 php -q /var/www/project/server.php
那麼請幫助我,爲什麼它創建兩個進程?
如何加速執行?
我使用PHP 5.5,Ubuntu的
更新
我對WebSocket的 使用棘輪這裏是server.php
<?php
use Ratchet\Server\IoServer;
use Ratchet\WebSocket\WsServer;
$server = IoServer::factory(
new WsServer(
new DraftAuction()
)
, 8181
);
$server->run(); // If I comment this line getting response faster but I cant do that, this line keeps process in continues running mode.
您的輸出表明PHP花費了0秒的CPU時間來執行。也許'server.php'中的某些代碼掛起或阻塞等待系統事件。嘗試找到阻止執行的行,並在此處發佈代碼。 –
PHP在shell中執行傳遞給'exec()','system()','shell_exec()','popen()'或'proc_open()'的命令。這就是爲什麼你看到兩個過程。問題的另一部分:*「爲什麼需要這麼長時間」*顯然無法回答,因爲您的問題缺少重要信息。 – hek2mgl
@DmitryGrigoryev&hek2mgl:謝謝你的回答,問題更新了,請幫我解決... –