原提示:鏈接 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訪問。別的訪問也不行。
真坑。沒辦法,誰讓便宜了。按人家的走吧。
(主要的是客服也沒和我說呀,白浪費好長時間測試)