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)看;

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)

  1. $this->fetchType = $config['result_type'];
  2. }
  3. try {
  4. if (empty($config['dsn'])) {
  5. $config['dsn'] = $this->parseDsn($config);
  6. }
  7. if ($config['debug']) {
  8. $startTime = microtime(true);
  9. }
  10. $this->links[$linkNum] = new PDO($config['dsn'], $config['username'], $config['password'], $params);
  11. if ($config['debug']) {
  12. // 記錄數(shù)據(jù)庫(kù)連接信息
  13. Log::record('[ DB ] CONNECT:[ UseTime:' . number_format(microtime(true) - $startTime, 6) . 's ] ' . $config['dsn'], 'sql');
  14. }
  15. } catch (\PDOException $e) {
  16. if ($autoConnection) {
  17. Log::record($e->getMessage(), 'error');
  18. 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)潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對(duì)《免責(zé)聲明》全部?jī)?nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來(lái)自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請(qǐng)勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請(qǐng)聯(lián)系站長(zhǎng)并出示版權(quán)證明以便刪除。 敬請(qǐng)諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評(píng)論,如有謬誤,請(qǐng)聯(lián)系指正;轉(zhuǎn)載請(qǐng)注明出處: » 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))

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊(cè)服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情