2014-02-17 40 views
4

我已經在我的服務器上安裝了Sphinx,除了當我從網絡瀏覽器運行test.php時,我得到這個錯誤: 查詢失敗:連接到localhost:9312失敗(errno = 111,msg =連接被拒絕)。Php連接到獅身人面像拒絕

我已經在線搜索,包括堆棧溢出,幾乎所有的建議都確保searchd服務正在運行,並且它正在正確的端口上偵聽。我可以對這兩個問題都說是,因爲如果直接在命令行中運行相同的測試程序,一切正常。我知道主機提供商可能沒有打開端口,但端口應該在服務器上進行偵聽,對吧?它在命令行下工作的事實應該確認該服務正在偵聽該端口,並且php程序能夠通過該端口。所以我不明白爲什麼從Web瀏覽器運行相同的程序會拒絕連接。

我也在php.ini中啓用了fsockopen。

任何建議,以幫助理解爲什麼連接被拒絕甚至更好如何解決它是非常受歡迎的!

感謝

+0

您在'命令行'上訪問的服務器是否與運行Web服務器的服務器相同?也許你正在連接到不同的服務器? – barryhunter

+0

我面臨同樣的問題,我的數據庫在同一臺服務器上。請給我建議我現在應該做什麼。 –

+0

如果嘗試從服務器上「curl localhost:9312」,會發生什麼情況? –

回答

1

你可以試試這個:

  • 檢查你的sphinx.conf並確保9312是你spinx的端口(我的默認端口是3312)
  • localhost更改爲127.0.0.1

如果您檢查端口是開放的這不起作用,你可以使用nmap

sudo apt-get install nmap 
nmap 127.0.0.1 -p 9312