【解決】連接 MySQL 失敗: php_network_getaddresses: getaddrinfo failed


 

 

原提示:連接 MySQL 失敗: php_network_getaddresses: getaddrinfo failed: ��֪��������������

 

 

 上面是自己遇到的問題,做一個記錄:

前陣子購買了一個雲虛擬主機,便宜,買之前特意問了支持PHP

而還送了一個MYSQL數據庫,查了一下是5.1的,當時覺得可能用不上。也就沒上心。

 

用PHP的框架Laravel寫了一個網站,寫完想要掛上去的時候,出了大問題了。

1.首先是laravel是二級目錄public為對外公開目錄,可能是為了安全考慮,但放在虛擬主機里面就麻煩大了。

無法指向二級目錄為默認首頁,試了好幾種方法,都以失敗告終。比如什么.htaccess靜態解析等,(這個沒成,也可能是我設置或者用的不對)

反正不行。最后沒辦法。把index.php及public所有文件復制到了根目錄了。靜態的css和js等文件也都搬出來了。

雖然安全上可能會有隱患,只能是暫時這樣用了。

2.接着雖然網站可以訪問了,靜態的頁面也沒有問題,但當訪問到新聞的時候,出問題了。無法讀取數據庫內容,一開始以為寫錯密碼啥的了,

不過也不可能啊。在本地測試好好的。線上就不用了呢?

開始和客服技術人員溝通,提交工單,提了整整4大片,無語了,最后還是沒有解決。沒法,自己測試吧。

3.先解決數據庫問題,測試一下是不是數據有問題,正好買的時候送的一個MYSQL的庫(后來才發現是5.1版本的)

就用這個測試一下,把數據導入進去。結果用navicat一連接,死活連接不上,坑呀。

又和客服溝通,就說沒有問題。我這換了IP,也用命令行連接,就是不行。終於放棄了。

得出結論:這東西應該是不讓外部人訪問。

既然連不上,只好老老實實用后台提供的phpmyadmin了,雖然不熟,湊和着用吧。

前前后后導數據,導不進去,總是報錯:SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character set: 'utf8mb4' (SQL: select * from `teachers`)

后來搜了下,原來mysql5.1不支持utf8mb4,又把導出來的sql文件手工編輯了一下。終於導入成功了。

4.寫了一個phpinfo的單獨數據庫連接代碼,測試了一下。終於連接成功,拿到了數據。再改一下連接別的數據庫,還是報錯。

只能證明,虛擬主機的空間,只能用自己的數據庫連接,外連,不行。

而里面的程序也只能連接自己的庫。

自己的庫只能用自己的后台里的phpmyadmin訪問。別的訪問也不行。

真坑。沒辦法,誰讓便宜了。按人家的走吧。

(主要的是客服也沒和我說呀,白浪費好長時間測試)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM