Linux下thinkPHP連接數(shù)據(jù)庫(kù)報(bào)如下錯(cuò):PDOException in Connection.php line 295(SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES))
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
今天測(cè)試了一個(gè)tlinkphp的程序,不知道咋地了,始終就是不能連接數(shù)據(jù)庫(kù),很是悲劇,具體請(qǐng)看;
$this->fetchType = $config['result_type'];
}
try {
if (empty($config['dsn'])) {
$config['dsn'] = $this->parseDsn($config);
}
if ($config['debug']) {
$startTime = microtime(true);
}
$this->links[$linkNum] = new PDO($config['dsn'], $config['username'], $config['password'], $params);
if ($config['debug']) {
// 記錄數(shù)據(jù)庫(kù)連接信息
Log::record('[ DB ] CONNECT:[ UseTime:' . number_format(microtime(true) - $startTime, 6) . 's ] ' . $config['dsn'], 'sql');
}
} catch (\PDOException $e) {
if ($autoConnection) {
Log::record($e->getMessage(), 'error');
return $this->connect($autoConnection, $linkNum);
這種錯(cuò)誤,基本屬于數(shù)據(jù)庫(kù)連接不正常所導(dǎo)致的,那必須要看一下數(shù)據(jù)庫(kù)連接文件,有些時(shí)候不是單一的一個(gè)數(shù)據(jù)庫(kù)文件,可能會(huì)是多個(gè),多個(gè)的時(shí)候可能就會(huì)顯示這樣;具體的請(qǐng)參閱忘記mysql數(shù)據(jù)庫(kù)root用戶密碼的解決辦法要么就卸載重裝數(shù)據(jù)庫(kù)Windows下如何干凈利索的完全卸載Mysql以及?mysql8.0如何在windows 10 (win10)下卸載干凈具體多樣化的東西,都需要根據(jù)多方面的參考才可以,還有一種說(shuō)辭的,具體請(qǐng)看下面的說(shuō)法;
本地的數(shù)據(jù)庫(kù)的密碼默認(rèn)是 root 導(dǎo)致(比如:phpstudy),到時(shí)候更改密碼測(cè)試一下,這個(gè)問(wèn)題有待確認(rèn),不能說(shuō)就能解決;
還有其他一種比較靠譜的:
找了N多方法來(lái)嘗試,重裝apache、mysql。安裝集成軟件都試過(guò)了。錯(cuò)誤一樣。
后來(lái)細(xì)細(xì)分析,PDOException in Connection指的不就是PDO異常嗎?
然后去了解了一些PDO的知識(shí),找到了問(wèn)題原因。
然后默默的去php.ini中找到
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
將這兩句去掉前面的分號(hào);
php7.0以上是這兩句
extension=pdo
extension=pdo_mysql
然后重啟apache ok搞定;
PS:延伸閱讀;(下面闡述的一個(gè)問(wèn)題點(diǎn),多數(shù)適合windows系統(tǒng))
需要從微軟下載sqlserver關(guān)于php的驅(qū)動(dòng),然后把dll文件放到本地php的ext目錄,然后需要把文件名添加到php.ini中,注意、注意、注意:這里邊是兩個(gè)文件:
extension=php_sqlsrv.dll
extension=php_pdo_sqlsrv.dll
一個(gè)帶有pdo,一個(gè)不帶,tp5默認(rèn)都是pdo鏈接方式,故請(qǐng)確認(rèn)下是否已添加extension擴(kuò)展,這個(gè)加好后,基本就不會(huì)報(bào)這個(gè)錯(cuò)了
我這個(gè)問(wèn)題是啥問(wèn)題呢?在tlinkphp根目錄下也會(huì)有其他的文件,文件不一,具體請(qǐng)看;
比如上面的圖片中,幾個(gè)無(wú)后綴的文件,就可能寫入著各種數(shù)據(jù)庫(kù)連接信息或者其他全局信息,所以看待問(wèn)題,要多種的選擇才可以;比如我這里就是 修改.env 中的數(shù)據(jù)庫(kù)賬號(hào)密碼 才可以打開;
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!