安装php
#这里安装的php-mysql是7.3版本,版本保持一致安装php7.3
root@debian-1:~# apt install php7.3 php-mysql
root@debian-1:~# vim /etc/php/7.3/apache2/php.ini
#去掉前面的注释
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
#退出配置文件重启web服务
root@debian~1#systemctl restart apache2.service
#确认相关模块都已启动
root@debian-1:~# php -m |grep -i pdo*
PDO
pdo_mysql
root@debian-1:~# php -i |grep -i pdo*
/etc/php/7.3/cli/conf.d/10-pdo.ini,
/etc/php/7.3/cli/conf.d/20-pdo_mysql.ini,
API Extensions => mysqli,pdo_mysql
PDO
PDO support => enabled
PDO drivers => mysql
pdo_mysql
PDO Driver for MySQL => enabled
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
opcache.file_update_protection => 2 => 2
<?php
$serverName='localhost';
$username='root';
$password='password';
// 提前创建好test数据库
try{
$connect = new PDO("mysql:host=$serverName", $username, $password); // pdo方式连接
echo "连接成功";
}catch(Exception $e){
echo $e->getMessage();
}
?>
但是用访问网页出现以下报错
The server requested authenticatio n method unknown to the client
对mysql验证方式进行修改
root@debian-1:~# vim /etc/mysql/mysql.conf.d/mysqld.cnf
#添加内容
default_authentication_plugin=mysql_native_password
#退出配置文件进入mysql 对要登录的账号进行修改
root@debian-1:~# mysql -u -p
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'password';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
#再次重启web服务并用php连接
root@debian~1#systemctl restart apache2.service
<?php
$serverName='localhost';
$username='root';
$password='password';
$connect=new mysqli($serverName,$username,$password);
if($connect->connect_error){
die('连接失败'.$connect->connect_error);
}else{
echo '连接成功';
}
?>