碎碎念:
因為跟學校借的遠端主機到期要重新申請一個,但今天急需展示雲端資料庫功能,無奈只好把自己的
電腦(老婆)當白老鼠再重架一次,但玩爆了一次、重灌Xampp、表格得再創一次
,以前舊的資料表資料都遺失了
((下次創好後除了php程式碼,資料庫表格也要記得備份啊阿阿....
爬了一下也沒看到甚麼完整教學,所以只好自己做筆記紀錄,以免下次我又玩爆一下午
還有這不算教學,只是我的學習筆記,歡迎提出建議和自己的經驗之類的
首先準備好xampp,其他的也差不多,只是我選用xampp
然後打開cmd打:ipconfig 查ipv4位址。
第一個你會看到乙太網路的位址 和 無線wifi位址,要選無線wifi的位址
但是很重要的,除非你有固定的domain,不然這ip只能網內互打
這ip只能網內互打
這ip只能網內互打
這ip只能網內互打 ((很重要所以說3次
192.168.xxx.xxx的基本上是LAN,是私人網路,簡單說就是你家同個基地台才連的上,所以想和遠房朋友傳資料還是乖乖找個固定domain。
如果是遠端主機,像是跟學校借的時候會問是否要註冊domain name,那ip才可以外連(前提是port有開對)
接下來是xampp要改的檔案:
(1) Apache httpd.conf
Listen 80那個是port,我是懶得改所以用預設80,如果哪天發現xampp開不起來可以試著改這個,因為port可能被其他軟體佔用了。(聽說skype也是用80啦...)
如果這個有改,阿帕契那邊也要記得改
(2) Apache httpd-xampp.conf
我忘記預設是長怎樣,但找到Alias,把中間的改成
AllowOverride AuthConfig
Require all granted (重點)
(3)Apache phpMyAdmin(config.inc.php)
很快就會找到:
[5/28更新: 這邊先別急著改文本,應該先去phpmyadmin那邊修改root的密碼,修改後他會強制把使用者退出,重整後會出現"存取遭拒"的訊息,此時再來修改這個config.inc.php的密碼資訊如下。(記得要跟在phpmyadmin裡面設的一樣)]
$cfg['Servers'][$i]['auth_type'] = 'http'; 這個預設是config,改http登入時會詢問你密碼
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'root的密碼';
這個改完也記得去phpmyadmin那邊改這3個root密碼,不過我不知道兩者的關聯,所以我都設一樣(還有別不信邪不設密碼,不然資料庫每3-7天就會被駭、資料表全清空、有的還會留下贖金勒索(明明資料庫沒什麼東西),當初我還以為是裝了還原卡還什麼的。)
下面還有一句
$cfg['Servers'][$i]['host'] = 'localhost';
除非server跟裝xampp的電腦不同,不然就留localhost就好,不過通常xampp都裝在server上吧
我記得要改的只有這些,如果有錯我再來更新。
以上,希望能幫到陷入資料庫專題苦海的朋友
同場加映: Unity 從資料庫取資料
不過要注意,我記得安卓 API 29以上就不太能用http傳資料,最好的方法是把server連結升成https,不過這方面就得再研究了 (輕鬆做法就是把輸出的檔案目標api選28以下)
string url = "http://我的網址/我的資料.php";
UnityWebRequest www = UnityWebRequest.Get(url);
yield return www.SendWebRequest();
if (!www.downloadHandler.text.Contains("error"))
{
string _data = www.downloadHandler.text;
}
從Unity送資料:
string url = "http://我的網址/上傳.php;
WWWForm form = new WWWForm();
form.AddField("php那邊的變數_POST", _資料變數);
UnityWebRequest www = UnityWebRequest.Post(url, form);
yield return www.SendWebRequest();
//檢查ERROR:
if (www.downloadHandler.text.Contains("error"))
{
Debug.LogWarning(www.downloadHandler.text);
}
else
{
//成功
}