2012-07-02 246 views
2

我對套接字編程非常陌生,但是使用php進行大量編碼。 我已經測試了一些套接字服務器示例代碼,並且與localhost一起正常工作。我使用CLI來運行服務器。但我的擔心是如何在我的託管服務器上運行套接字服務器.php文件?託管服務提供商通常是否可以訪問CLI來運行服務器?我如何確保我的服務器始終運行?如果託管服務器重新啓動,我的服務器會發生什麼情況?萬一,我的服務器崩潰(無論什麼原因),我必須手動運行它嗎? 有人可以幫忙嗎?PHP套接字服務器

+0

檢出:http://stackoverflow.com/questions/4262543/what-are-good-resources-for-learning-html-5-websockets –

回答

2

我不知道你的提供者是否給你ssh訪問權限。某些提供程序執行此操作,但這是受管服務器或根服務器。

然後,您可以通過CLI運行您的腳本。

當您可以通過CLI運行服務器並且擁有足夠的權限時,您可以將腳本插入到運行級別。還有一種叫做「shebang」的東西。有了這個,你可以給你的腳本直接的PHP解釋器,並運行腳本沒有PHP命令之前。

php test.php or /usr/bin/php testScript.php 

你可以用test.php的運行直接運行腳本或命名腳本只testScript

當你把你的腳本在/ usr/local/bin中(用於Debian),你可以在諸如PHP命令的命令每次運行它。

編輯:我已經忘記了一些東西。對於此解決方案,您必須將/etc/init.d/skeleton複製到/etc/init.d/runPHPSocketServer例如,並將腳本值更改爲最上方。然後你可以將它插入到運行級別。

#: testScript or runPHPSocketServer start 

當腳本是一個可執行文件的目錄下,你可以把它插入到你的系統運行級別。

#: update-rc.d runPHPSocketServer defaults 

所以你看有一些解決方案,但對於大多數解決方案,你需要SSH訪問。

3

如果你在談論一個託管服務器,我希望你在談論共享託管。在這種情況下,如果您甚至設法運行服務等,將很難保持穩定。我建議至少使用VPS。這樣你就可以在後臺運行它,在重新啓動時自動啓動它,同時安裝軟件檢查進程並在失敗時重新啓動它。

例如:在共享主機上測試重啓啓動是否不可行。