debian11通过pdo和mysqli连接数据库
安装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 连接成功;
}
?>
