Lors de l'utilisation du système d'exploitation CentOS 7, nous pouvons rencontrer le problème que MySQL ne peut pas se connecter à PHP. En effet, CentOS 7 entraîne un conflit entre MariaDB et MySQL, entraînant l'impossibilité de se connecter à la base de données. Cet article vous expliquera comment résoudre le problème selon lequel MySQL ne peut pas se connecter à PHP dans CentOS 7.
1. Désactivez MariaDB
Afin d'éviter les conflits avec MariaDB, nous devons d'abord la désactiver. Vous pouvez utiliser la commande suivante :
systemctl stop mariadb.service # Arrêtez le service MariaDB
systemctl verify mariadb.service # Désactivez le service MariaDB
Après la désactivation, nous devons confirmer que le service MariaDB a été arrêté. Vous pouvez utiliser la commande suivante :
systemctl status mariadb.service # Vérifiez l'état du service MariaDB
Si l'état est inactif, cela signifie que le service Mariadb a été arrêté.
2. Installez MySQL
Installez les dépendances MySQL :
yum -y install wget
yum -y install net-tools
Téléchargez le package d'installation de MySQL :
wget https://dev .mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
Installer MySQL :
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum installer mysql -community-server
Une fois l'installation terminée, démarrez MySQL :
systemctl start mysqld
systemctl activate mysqld
3. Modifiez la configuration MySQL
Connectez-vous à MySQL :
mysql -u root -p
Entrez le mot de passe
Modifiez le fichier de configuration MySQL :
vim /etc/my.cnf
Ajoutez le contenu suivant sous la configuration [mysqld] :
skip-grant-tables
Mot de passe d'initialisation :
utilisez mysql;
mettre à jour l'ensemble d'utilisateurs authentification_string=password('password') où user='root';
flush privilèges;
quit;
Modifier skip-grant-tables dans le fichier de configuration pour le contenu suivant :
skip-grant-tables
Redémarrez le service MySQL :
systemctl restart mysqld
4. Modifiez le Fichier de configuration PHP
Modifiez le fichier de configuration PHP :
vim /etc/php.ini
Recherchez mysql.default_socket ou mysqli.default_socket et remplacez-le par l'adresse du fichier de socket MySQL :
mysql.default_socket = /var/lib/mysql/ mysql.sock
mysqli.default_socket = /var/lib/mysql/mysql.sock
pdo_mysql.default_socket = /var/lib/mysql/mysql.sock
5. Test de connexion
Entrez le code suivant dans le terminal (le nom d'utilisateur et le mot de passe doivent être modifiés par vous-même) :
$con = mysqli_connect("localhost","username" ,"password") ;
if ($con)
{
die('Could not connect: ' . mysqli_error());
}
echo 'Connecté avec succès';
mysqli_close($con);
?>
Si la connexion est réussie, cela signifie que vous pouvez maintenant vous connecter à la base de données MySQL via PHP. Si le test échoue, veuillez vérifier les étapes ci-dessus et rechercher à nouveau le problème.
Résumé :
Ce qui précède est la solution au problème selon lequel MySQL ne peut pas se connecter à PHP dans CentOS 7. J'espère que cela pourra aider les étudiants dans le besoin. Si vous avez d'autres questions, veuillez laisser un message pour en discuter.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!