Apabila menggunakan sistem pengendalian CentOS 7, kami mungkin menghadapi masalah yang MySQL tidak dapat menyambung ke PHP. Ini kerana CentOS 7 datang dengan konflik antara MariaDB dan MySQL, mengakibatkan ketidakupayaan untuk menyambung ke pangkalan data. Artikel ini akan memperkenalkan anda cara menyelesaikan masalah yang MySQL tidak dapat menyambung ke PHP dalam CentOS 7.
1. Lumpuhkan MariaDB
Untuk mengelakkan konflik dengan MariaDB, kami perlu melumpuhkannya terlebih dahulu. Anda boleh menggunakan arahan berikut:
systemctl stop mariadb.service # Hentikan perkhidmatan MariaDB
systemctl lumpuhkan mariadb.service # Lumpuhkan perkhidmatan MariaDB
Selepas melumpuhkan, Kami perlu mengesahkan bahawa perkhidmatan MariaDB telah dihentikan. Anda boleh menggunakan arahan berikut:
systemctl status mariadb.service # Semak status perkhidmatan MariaDB
Jika status menunjukkan tidak aktif, ini bermakna perkhidmatan Mariadb telah dihentikan.
2. Pasang MySQL
Pasang kebergantungan MySQL:
yum -y install wget
yum -y install net-tools
Muat turun pakej pemasangan MySQL:
wget https://dev.mysql.com/get/mysql57-community-release-el7 -11.noarch.rpm
Pasang MySQL:
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum pasang mysql-community-server
Selepas pemasangan selesai, mulakan MySQL:
systemctl mula mysqld
systemctl enable mysqld
3. Ubah suai konfigurasi MySQL
Sambung ke MySQL:
mysql -u root -p
Masukkan kata laluan
Ubah suai fail konfigurasi MySQL:
vim /etc/my.cnf
Tambah kandungan berikut di bawah [mysqld] konfigurasi:
skip-grant-tables
Kata laluan permulaan:
gunakan mysql;
kemas kini set pengguna authentication_string=password('password') tempat pengguna ='root';
keistimewaan flush;
berhenti;
Ubah suai skip-grant-tables dalam fail konfigurasi kepada kandungan berikut:
skip- grant-tables
Mulakan semula perkhidmatan MySQL:
systemctl mulakan semula mysqld
4. Ubah suai fail konfigurasi PHP
Edit fail konfigurasi PHP:
vim /etc/php .ini
Cari mysql.default_socket atau mysqli.default_socket dan tukarkannya kepada alamat fail soket MySQL:
mysql. default_socket = /var/lib/mysql/ mysql.sock
mysqli.default_socket = /var/lib/mysql/mysql.sock
pdo_mysql.default_socket = /var/lib/qlql/my .sock
5 Uji sambungan
Masukkan kod berikut dalam terminal (nama pengguna dan kata laluan perlu diubah suai sendiri):
$con = mysqli_connect("localhost","nama pengguna","kata laluan");
jika (!$con)
{
die('Could not connect: ' . mysqli_error());
}
gema 'Berjaya disambungkan';
mysqli_close($con);
?>
Jika Connected berjaya dikeluarkan, ini bermakna anda kini boleh menyambung ke pangkalan data MySQL melalui PHP. Jika ujian gagal, sila semak langkah di atas dan cari masalahnya sekali lagi.
Ringkasan:
Di atas adalah penyelesaian kepada masalah MySQL tidak dapat menyambung ke PHP dalam CentOS 7. Saya harap ia dapat memberikan bantuan kepada pelajar yang memerlukan. Jika anda mempunyai soalan lain, sila tinggalkan mesej untuk berbincang.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah yang MySQL tidak dapat menyambung ke PHP dalam CentOS7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!