2015年4月12日 星期日

在樹莓派上架設Apache+MySQL+PHP

Image(1)

Context
  • 本紀錄紀錄如何在樹莓派下安裝Apache、MySQL、PHP
  • 使用RPi 2 Model B
  • 作業系統為rasbian

環境安裝
  • 安裝Apache:
    • sudo apt-get install apache2
  • 安裝MySQL:
    • sudo apt-get install mysql-server
    • 安裝完成後系統會要求輸入MySQL密碼
  • 安裝PHP5
    • sudo apt-get install php5
    • sudo apt-get install php5-mysql

檢查結果

Step 1:PHP是否正確安裝
    • 網頁根目錄預設在/var/www/下
    • 當你啟動瀏覽器輸入你的電腦IP,你應該能看到一個頁面顯示「It works」
    • 接著在/var/www/下建立一個php檔(例如php_test.php),並在檔案中輸入
      • <? phpinfo(); ?>
    • 儲存後開啟瀏覽器,在你的IP底下接上檔案名稱,如192.168.0.102/php_test.php
    • 如果顯示以下畫面表示你的PHP已經順利安裝
    • Image(14)

Step 2:MySQL是否正確安裝
  • MySQL登入
    • $mysql -u <user> -p
    • Image(15)
    • 當正確登入後表示你的MySQL已經正確執行
  • 建立測試資料
    • 為了接下來測試PHP與MySQL的連線,我們先在資料庫中建立一些資料
    • 建立資料庫:create database test;
    • Image(16)
    • 因為我之前已經建立了一個相同名稱的資料庫,所以這邊會顯示錯誤訊息
    • 指定要使用的資料庫:use test
    • Image(17)
    • 建立資料表
    • Image(18)
    • 由於我先前也建立好名為test的資料表,所以這裡顯示錯誤
    • 插入新的資料
    • Image(19)
    • 隨便新增幾筆資料後,利用select指令查看結果
    • Image(20)

Step 3:PHP Connect MySQL
  • 在網站根目錄下建立一個setup.php檔,紀錄資料庫連線資訊
  • <?
           $db_id="root";           //your mysql id
           $db_passwd="raspberry";  //your mysql password
           $db_name="test";         //your database name
           $db_server="localhost";  //your server ip
    ?> 

  • 在網站根目錄下建立一個mysql_test.php檔,用來抓資料庫中的資料:
  • <?
  •         echo  "test mysql...";
            include_once("setup.php");
            $link=mysqli_connect($db_server,$db_id,$db_passwd,$db_name)
            or die_content(mysqli_connect_errno().mysqli_connect_error().
            "database cannot access");
            
            $sql="select * from test";
            mysqli_query($link,"set names utf8");
            
            
            $result=mysqli_query($link,$sql) or die_content(mysqli_error($link).
            "query failure");
            while($row=mysqli_fetch_assoc($result)){
                    $output[]=$row;
            }
            print(json_encode($output));
            
            mysql_close(); 
    ?>
  • 從瀏覽器察看結果
    Image



沒有留言:

張貼留言

此部落格主要作為學習研究、心得分享,歡迎大家討論指教...