2017-10-10 11 views
-1

J'ai sphinx pour la recherche sur l'hébergement partagé. Je peux me connecter à sphinxql via le terminal, mais sans utiliser une connexion PDO dans un fichier php. Il arrive à expiration. Je suppose que si la compagnie d'hébergement avait bloqué le port 9306, je ne serais pas en mesure de me connecter via le terminal. Toute aide est appréciée. Voici la connexion PDO.Impossible de se connecter à SphinxQL via PDO mais peut passer par le terminal sur le port 9306

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

Lors de la connexion à travers le terminal que je fais:

mysql -P9306 --protocol=tcp 

Je pense que ce qui est essentiel ici est que dans le terminal je n'ai pas de spécifier une base de données lors de la connexion à l'endroit où l'indice resides.With ci-dessus connexion terminale je peux voir l'index très bien. Si je me connecte à la base de données associée, l'index n'est pas disponible.

Y a-t-il un moyen de se connecter pour établir une connexion PDO sans spécifier de base de données? Je reçois une erreur "Aucune base de données sélectionnée" lorsque je fais cela.

+0

Êtes-vous sûr que vos informations d'identification sont correctes? Êtes-vous sûr de pouvoir vous connecter à la machine à distance? MySQL est généralement derrière un pare-feu et pour de bonnes raisons. – tadman

+0

Passez le port en tant que 4ème paramètre. Le port par défaut est 3306. – aynber

+0

Oui. Je peux me connecter sans problème via le terminal. Et je peux me connecter avec PDO si je ne spécifie pas le port 9306. – steveBK

Répondre

1

Résolu. Les spécifications Port d'écoute de la configuration sphinx.conf doivent être définies sur 3306 ou sur Serveur par défaut. Alors que la connexion pdo pour une raison quelconque doit être définie sur le port 9306 également sur 127.0.0.1. Sans spécifier le nom de la base de données sur le fichier dsn [facultatif selon Docs]. Cela fonctionne parfaitement pour une raison quelconque. Je reçois maintenant toutes les données de recherche.

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