應用託管在SAE不登入也能通過phpmyadmin管理資料庫

boxti發表於2017-07-04
需求:在SAE下開發,經常需要手動修改資料庫資料,可是老是登入又太麻煩
  準備:假設當前我已經在SAE中有了一個應用: malinjie66.sinaapp.com
  步驟:
  1.下載 phpmyadmin, 版本是 phpMyAdmin-3.3.10.5-all-languages.7z
  2.在SAE應用中, 新建一個版本, 假設是 2, 那麼現在把 phpmyadmin 的全部檔案上傳到該版本. (因為版本1要存放應用的程式碼, 而管理這個應用的資料庫, 又必須是在該應用下, 所以最好的辦法是, 新建一個版本啦!)
  3.複製 pma/libraries/config.default.php 的內容到 pma/config.inc.php , 如果不存在則新建之
  4.修改 config.inc.php 某些位置 , 修改後如下:
$cfg[`Servers`][$i][`host`] = SAE_MYSQL_HOST_M;
$cfg[`Servers`][$i][`port`] = SAE_MYSQL_PORT;
$cfg[`Servers`][$i][`user`] = SAE_MYSQL_USER;
$cfg[`Servers`][$i][`password`] = SAE_MYSQL_PASS;
$cfg[`Servers`][$i][`only_db`] = `app_malinjie66`;  // 你的SAE專案的資料庫名稱
  5.訪問 2.malinjie66.sinaapp.com , 你會發現要求輸入資料庫使用者名稱和密碼!(SAE設定的是常量, 我們當然不知道了!) 那麼下一步我們就要列印出這兩個常量 
SAE_MYSQL_USER 和 SAE_MYSQL_PASS , 但是為了安全起見, 最好在位址列加一個金鑰驗證, 具體做法是: 在index.php 的最開頭處寫上這幾行程式碼 :
if($_GET[`k`]==`s0h94huna43hf4jc8geb1tqxt5jn3bg5`){
echo `資料庫登入資訊:<br />`;
echo SAE_MYSQL_USER.`  `.SAE_MYSQL_PASS;
echo `<br /><br />`;
}
  附:
  訪問以上地址可能報錯——無法在發生錯誤時建立會話,請檢查 PHP 或網站伺服器日誌,並正確配置 PHP 安裝。
  解決辦法:把位址列引數k的值,改變下(增加或刪掉一個字母),回車。再改回正確的k值,再回車就不報錯了!鬱悶。   


最新內容請見作者的GitHub頁:http://qaseven.github.io/
   


相關文章