2017-10-10 21 views
-1

共有ホスティングの検索にはsphinxがあります。私は端末から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接続を確立する方法はありますか?私はそれをするときに "No database selected"というエラーが出ます。

+0

あなたの認証情報は正しいですか?遠隔からマシンに接続できますか? MySQLは一般的にファイアウォールの背後にあり、正当な理由があります。 – tadman

+0

ポートを4番目のパラメータとして渡します。デフォルトのポートは3306です。 – aynber

+0

はい。私は端末を通して問題なく接続することができます。ポート9306を指定しないと、私はPDOに接続できます。 – steveBK

答えて

1

解決済み。設定sphinx.confのリスニングポートの指定は、3306またはserver defaulに設定する必要があります。なんらかの理由でpdo接続をポート9306に設定する必要がありますが、これは127.0.0.1にもあります。 dsnにデータベース名を指定しないでください。[Docsにはオプションです]。これは何らかの理由で完璧に機能します。私は今、すべての検索データを取得しています。

$queryIdx = new PDO("mysql:host=127.0.0.1;port=9306","username","password"); 
関連する問題