Pages : 1
#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.
#4 Le 18/08/2014, à 16:01
- apprentilinux
Re : [ Résolu ] Erreur php
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
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.
#8 Le 19/08/2014, à 15:38
- apprentilinux
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.
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)
#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.
#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
Dernière modification par apprentilinux (Le 21/08/2014, à 12:12)
Hors ligne
Pages : 1