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

 

 

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

 

 

 上面是本身遇到的問題,作一個記錄:css

前陣子購買了一個雲虛擬主機,便宜,買以前特地問了支持PHPmysql

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

 

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

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訪問。別的訪問也不行。

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

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

相關文章
相關標籤/搜索