2017-10-10 213 views
-1

我有獅身人面像搜索共享主機。我可以通過終端連接到sphinxql,但不能在php文件中使用PDO連接。它超時。我假設如果託管公司有端口9306被阻止,我將無法通過終端連接。任何幫助表示讚賞。以下是PDO連接。無法通過PDO連接到SphinxQL,但可以通過端口9306

$queryIdx = new PDO("mysql:host=2x8.xxx.xxx.xxx; dbname=xxx; port:9306","stevebushe","xxx") 

當通過終端連接我做的:

mysql -P9306 --protocol=tcp 

我認爲這裏的關鍵是,在終端我沒有連接時指定數據庫所在的指數resides.With以上終端連接我可以看到索引就好了。如果我連接到關聯的數據庫,那麼索引不可用。

我有一種方法可以建立PDO連接而不指定數據庫嗎?當我這樣做時,出現「沒有選擇數據庫」的錯誤。

+0

你確定你的憑證是正確的嗎?您確定可以遠程連接到本機嗎? MySQL通常位於防火牆之後,並有充分的理由。 – tadman

+0

將端口作爲第四個參數傳遞。默認端口是3306. – aynber

+0

是的。我可以通過終端無問題地連接。如果我不指定端口9306,我可以與PDO連接。 – steveBK

回答

1

已解決。偵聽配置sphinx.conf中的端口規格必須設置爲3306或服務器默認值。由於某種原因,pdo連接也必須設置爲127.0.0.1上的端口9306。沒有在dsn上指定數據庫名稱[根據文檔是可選的]。由於某種原因,此功能完美無瑕。我現在正在獲取所有搜索數據。

$queryIdx = new PDO("mysql:host=127.0.0.1;port=9306","username","password");