Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/08/2014, à 13:49

apprentilinux

[ Résolu ] Erreur php

Bonjour,
J'essaie d'installer spip et il ne veut pas se connecter à la base ( qui est sur un autre serveur )

je regarde les logs j'ai cette erreur :
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/msql.so' - /usr/lib/php5/20121212/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Je n'arrive pas à trouver le problème

merci de votre aide

Dernière modification par apprentilinux (Le 21/08/2014, à 13:02)

Hors ligne

#2 Le 18/08/2014, à 14:54

Compte supprimé

Re : [ Résolu ] Erreur php

Qu'as tu renseigné en «identification base de données» lors de l'installation?
Voir ici --> Spip

#3 Le 18/08/2014, à 15:19

bruno

Re : [ Résolu ] Erreur php

Comment as-tu installé PHP5 ? Visiblement il te manque au moins un composant essentiel : mysql.so qui est fournie par le paquet php5-mysql.

Hors ligne

#4 Le 18/08/2014, à 16:01

apprentilinux

Re : [ Résolu ] Erreur php

ignus a écrit :

Qu'as tu renseigné en «identification base de données» lors de l'installation?
Voir ici --> Spip

,

merci pour ta réponse

oui j'ai bien renseigné. je fais un test de connexion avec l'utilisateur spip via phpmyadmin ça fonctionne.

Dernière modification par apprentilinux (Le 18/08/2014, à 16:03)

Hors ligne

#5 Le 18/08/2014, à 16:03

apprentilinux

Re : [ Résolu ] Erreur php

bruno a écrit :

Comment as-tu installé PHP5 ? Visiblement il te manque au moins un composant essentiel : mysql.so qui est fournie par le paquet php5-mysql.

je vais installé ce paquet, j'ai juste fais un apt-get install php5

merci pour ta réponse

Hors ligne

#6 Le 19/08/2014, à 13:30

apprentilinux

Re : [ Résolu ] Erreur php

j'ai réinstallé php5 et différents paquets . Comme cela ne marchait toujours pas, j'ai installé mysql serveur en localhost.

L’installation se déroule normalement. Mais ce que je veux c'est différencier le serveur de donnés et le serveur web.

j'ai modifier le fichier de connexion dans spip connect.php

spip_connect_db(’ipserverbasededonnee’,’’,’loginspip’,’mdpasse’,’nomdelabase’,’mysql’, ’spip’,’’) 

mais cela ne fonctionne toujours pas !!! malgré que l'utilisateur existe et qu'il a les bons droit sur sa base.

Mon problème est comment mon serveur web peut communiquer avec le serveur de base de donnée en utilisant spip.

Hors ligne

#7 Le 19/08/2014, à 14:55

bruno

Re : [ Résolu ] Erreur php

Tu veux dire que cela fonctionne avec le serveur Mysql installé sur la me machine que SPIP mais pas avec un serveur distant ?

Si c'est le cas il faut commencer par vérifier que tu as bien accès a ton serveur mysql distant :

mysql ip_serveur_mysql -u utilisateur -p

L'accès est peut-être refusé à cause d'une mauvaise configuration du serveur MySQL ou d'un pare-feu.

Hors ligne

#8 Le 19/08/2014, à 15:38

apprentilinux

Re : [ Résolu ] Erreur php

bruno a écrit :

Tu veux dire que cela fonctionne avec le serveur Mysql installé sur la me machine que SPIP mais pas avec un serveur distant ?

Si c'est le cas il faut commencer par vérifier que tu as bien accès a ton serveur mysql distant :

mysql ip_serveur_mysql -u utilisateur -p

L'accès est peut-être refusé à cause d'une mauvaise configuration du serveur MySQL ou d'un pare-feu.


Effectivement Bruno tu as raison, pas de connexion entre les deux serveurs.

Voici ce que j'ai fais :

sur le serveur web : j'ai rajouter une règle 

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

sur le serveur de base donnée :

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

Cela ne fonctionne toujours pas lors que j'essaie de me connecter depuis le serveur web :

ERROR 2003 (HY000): Can't connect to MySQL server on 'ipserveur' (111)

ma question est ce les règles sont bonnes ?

Hors ligne

#9 Le 19/08/2014, à 16:46

bruno

Re : [ Résolu ] Erreur php

Tes règles de pare-feu ne servent à rien… c'est comme si tu n'avais pas de pare-feu.
Reste la configuration du serveur MySQL.
- par défaut MySQL n'est en écoute que sur l'interface de bouclage. Il faut donc vérifier que la ligne

bind-address        = 127.0.0.1

du fichier /etc/mysql/my.cnf est commentée
- vérifier que ton utilisateur de la base de donnée est autorisé à se connecter depuis un autre hôte que localhost (voir le champ host de la table mysql.user)

Hors ligne

#10 Le 19/08/2014, à 19:00

apprentilinux

Re : [ Résolu ] Erreur php

Cette ligne n'est pas commenté , faut-il la commenter ?
Est ce que je peux rajouter une deuxième adresse derrière bind adress avec cette syntaxe :

Blind adress = 127.0.0.1 192.168.0.10

Ou mettre bind adress = 192.168.0.10

J'ai créé un utilisateur via phpmyadmin utilisateur@192.168.0.10 avec tous les droits sur sa bases.

Dernière modification par apprentilinux (Le 19/08/2014, à 19:14)

Hors ligne

#11 Le 20/08/2014, à 08:58

bruno

Re : [ Résolu ] Erreur php

Je te renvoie à la documentation : https://dev.mysql.com/doc/refman/5.5/en … nd-address

Le plus simple est de commenter cette ligne.

Pour ton utilisateur il faut qu'il soit du type utilisateur@ip_du_client (et non l'ip du serveur) pour autoriser une connexion de 'utilisateur à partir de ip_du_client ou plus simple : utilisateur@% pour autoriser 'utilisateur' depuis n'importe quel client.

Pense à relancer le service mysql si tu fais des modifications de configuration et à tester à chaque fois depuis la machine qui hénerge ton SPIP avec une commande mysql.

Hors ligne

#12 Le 21/08/2014, à 12:11

apprentilinux

Re : [ Résolu ] Erreur php

La solution est de commenté bind-adress =127.0.0.1 ( cf post de bruno )


Merci à Bruno et Ignus pour votre aide smile

Dernière modification par apprentilinux (Le 21/08/2014, à 12:12)

Hors ligne