##CentOS 6.4,PHP開啟錯誤提示:
1.開啟php.ini
# vi /etc/php.ini
2.搜尋下行,把Off值改成On
display_errors = Off
3.搜索下行
error_reporting = E_ALL & ~E_DEPRECATED
修改为
error_reporting = E_ALL | E_STRICT
4.修改httpd.conf,
# vi /etc/httpd/conf/httpd.conf
添加以下兩行:
php_flag display_errors on
php_value error_reporting 2039
5. 重新啟動Apache
# service httpd restart
///////////////////////////////////////////////
安裝Smarty在CentOS6.4上:
### 以下共3行終端機指令
su
tar zxvf Smarty-3.1.14.tar.gz
cp -r Smarty-3.1.14/libs/* /usr/lib/php/smarty
###
新建Smarty所需的相關目錄:
### 以下共8行終端機指令
cd /var/www/html
mkdir smarty
mkdir smarty/templates
mkdir smarty/templates_c
mkdir smarty/cache
mkdir smarty/configs
chmod 777 smarty/templates_c
chmod 777 smarty/cache
###
新建一个PHP檔:
# vi /var/www/html/index.php
---新增以下內容
<?php
require('/usr/lib/php/smarty/Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = '/var/www/html/smarty/templates';
$smarty->compile_dir = '/var/www/html/smarty/templates_c';
$smarty->cache_dir = '/var/www/html/smarty/cache';
$smarty->config_dir = '/var/www/html/smarty/configs';
$smarty->assign('name', 'Ned');
$smarty->display('index.tpl');
?>
---
新建模板檔:
vi /var/www/html/smarty/templates/index.tpl
---新增以下內容
<html>
<head>
<title>Smarty</title>
</head>
<body>
Hello, {$name}!
</body>
</html>
---
打開瀏覽器看看 -> http://localhost/
搜尋此網誌
2013年9月5日 星期四
2013年9月2日 星期一
CentOS 6.4 上快速安裝LAMP環境+phpmyadmin
切換成root管理員
# su
設置LAMP環境(安裝php MySQL httpd):
# yum -y install httpd php php-mysql mysql mysql-server
(非必須) 安裝記事本(圖形介面可以比較直覺編輯文檔,非圖形介面請勿安裝)
# yum -y install gedit
開機自動啟動MySQL
# chkconfig mysqld on
現在啟動MySQL
# /etc/init.d/mysqld start
開機自動啟動Web Server
# chkconfig httpd on
現在啟動Web Server
# /etc/init.d/httpd start
修改MySQL的root密碼
# mysqladmin -u root password '123456'
以下是安裝phpmyadmin:
# rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm
# yum install phpmyadmin
重啟Web Server:
# service httpd restart
Web Server -> http://localhost/
MySQL on phpMyAdmin -> http://localhost/phpmyadmin/
# su
設置LAMP環境(安裝php MySQL httpd):
# yum -y install httpd php php-mysql mysql mysql-server
(非必須) 安裝記事本(圖形介面可以比較直覺編輯文檔,非圖形介面請勿安裝)
# yum -y install gedit
開機自動啟動MySQL
# chkconfig mysqld on
現在啟動MySQL
# /etc/init.d/mysqld start
開機自動啟動Web Server
# chkconfig httpd on
現在啟動Web Server
# /etc/init.d/httpd start
修改MySQL的root密碼
# mysqladmin -u root password '123456'
以下是安裝phpmyadmin:
# rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm
# yum install phpmyadmin
重啟Web Server:
# service httpd restart
Web Server -> http://localhost/
MySQL on phpMyAdmin -> http://localhost/phpmyadmin/
2013年6月25日 星期二
替代役時期: Unity3D Web小遊戲-PacMan (2013/6/24完成第一版)
前陣子在2013/6/10開始自學Unity3D,邊學邊實作一個PacMan小遊戲,遊戲概念大多來自"大學畢業專題程式",有部分素材、script來自網路上的資源,遊戲採用二維陣列的概念來產生隨機地圖,新增可採第一人稱視角玩遊戲,大幅修正網路上提供的Ghost移動AI,目前於2013/6/24完成第一版。
這支小遊戲的產生原因是我在五月底得知台中某家博弈遊戲公司在招收軟體工程師,需要的條件有C/C++以及Unity3D,於是我就花了一點時間學習Unity3D並實作一個作品,方便之後投履歷面試;還有一個原因就是我覺得Unity3D看起來很有趣、蠻好玩的,學習的過程中也玩得很愉快。
小遊戲網址:http://ppt.cc/C8bj
這支小遊戲的產生原因是我在五月底得知台中某家博弈遊戲公司在招收軟體工程師,需要的條件有C/C++以及Unity3D,於是我就花了一點時間學習Unity3D並實作一個作品,方便之後投履歷面試;還有一個原因就是我覺得Unity3D看起來很有趣、蠻好玩的,學習的過程中也玩得很愉快。
小遊戲網址:http://ppt.cc/C8bj
![]() |
隨機地圖的概念圖(二維陣列20X20,1表示牆,0表示路) 隨機創四種方向的障礙牆(紅色),再隨機挑選幾個關鍵點堵住(綠色) |
![]() |
第一人稱視角 |
![]() |
第三人稱視角 |
![]() |
第三人稱視角(角色死亡) |
替代役時期: PHP書籍管理程式 (2013/5/6 完成第一版)
![]() |
列出所有書籍的頁面 |
![]() |
搜尋書籍的頁面 |
![]() |
新增書籍的頁面 |
作品簡易說明:
這是一個用PHP語言搭配MySQL資料庫建置起來的書籍管理程式(網站),這支程式的產生起因是我在五月初要面試某家台中公司的PHP研發工程師時,第一次面試完後要考個程式題,題目是書籍管理程式,限制時間一周內完成,還需建置在網路上可供主管評審操作,之前沒有做過一個完整的PHP網站,趁此機會也學習怎麼採用MVC架構去撰寫程式。
線上執行的程式建置在Amazon EC2(曾建置在HiCloud)雲運算虛擬主機中,使用最小的微運算型Linux虛擬主機(Micro型),程式透過使用Zend-Framework套件來建構MVC架構,本程式主要有首頁(index)、新增書籍頁(add)、搜尋書籍頁(Search)、編輯書籍頁(edit)、刪除書籍頁(delete),各頁面使用了少許jQuery的效果。
線上執行的程式建置在Amazon EC2(曾建置在HiCloud)雲運算虛擬主機中,使用最小的微運算型Linux虛擬主機(Micro型),程式透過使用Zend-Framework套件來建構MVC架構,本程式主要有首頁(index)、新增書籍頁(add)、搜尋書籍頁(Search)、編輯書籍頁(edit)、刪除書籍頁(delete),各頁面使用了少許jQuery的效果。
作業系統: ubuntu12.04(32bit)
使用的工具、語言或架構: Amazon EC2、apache2、PHP語言、MySQL 5.5、phpmyadmin、Zend-Framework、jQuery、 MVC架構。
標籤:
程式小品,
虛擬化技術,
雲端計算,
Amazon EC2,
MVC,
MySQL,
PHP語言,
Zend-Framework
替代役時期:分析今日BingoBingo開獎號碼的WebApp(2012/11/3 完成第一版)
![]() |
WebApp顯示頁面 |
![]() |
台灣彩券3/27當天BingoBingo開獎號碼頁面 |
作品簡易說明:
我發覺BingoBingo每幾小時裡某些號碼會很熱門,所以如果只看奧索樂透網的統計今日熱門號碼的網頁會有些不夠準確,因為前幾小時的熱門號碼現在不一定熱門了,於是我便做了這一個Webapps,從表格中可以看到每段時間的熱門號很多,在近20期中出現7次到10次的熱門號碼起碼有八到九個,表示當前熱門號碼幾乎每兩到三次就開出一次,過了一陣子後這些號碼開始退出熱門,又換其他號碼開始逐漸熱門。這支程式就是為了統計熱門號碼,讓使用者可以更輕易地分析開獎資訊。
現行服替代役期間,我花時間研讀Python程式語言和Google App Engine(GAE)相關知識,邊學邊撰寫WebApp上傳至GAE,這個WebApp去抓取台灣彩券的BingoBingo開獎號碼存到Google的資料庫,藉由Google雲的資料庫以及分散運算功能,快速幫我運算出冷熱門號碼結果並顯示在GAE提供的WebApp網頁。使用技術或工具:GAE、NoSQL(Google BigTable)、GQL語言、Python語言。
現行服替代役期間,我花時間研讀Python程式語言和Google App Engine(GAE)相關知識,邊學邊撰寫WebApp上傳至GAE,這個WebApp去抓取台灣彩券的BingoBingo開獎號碼存到Google的資料庫,藉由Google雲的資料庫以及分散運算功能,快速幫我運算出冷熱門號碼結果並顯示在GAE提供的WebApp網頁。使用技術或工具:GAE、NoSQL(Google BigTable)、GQL語言、Python語言。
研究所學習的領域之一:雲端計算、虛擬化技術的伺服器建置或運用。
在研究所求學期間擔任教學助理:
- 99學年度第一學期: 車輛定位與電子地圖整合應用
- 99學年度第二學期: 虛擬化技術
- 100學年度暑期課程: 虛擬化技術
- 100學年度第一學期: 雲端計算程式設計
- 100學年度第二學期: 虛擬化技術
在求學過程中學習了常見的幾種虛擬化技術知識,以及虛擬機伺服器或叢集系統的架設以及維護,例如:
I. VMware vSphere ESXi.
I. VMware vSphere ESXi.
![]() |
VMware vSphere ESXi.(Server安裝畫面) |
![]() |
VMware vSphere ESXi.(Server安裝完成畫面) |
![]() |
VMware vSphere ESXi.(Client連線至Server畫面) |
II. Proxmox Virtual Environment.
![]() |
Proxmox Virtual Environment(Server端安裝畫面) |
![]() |
Proxmox Virtual Environment(Server端安裝完成畫面) |
![]() |
Proxmox Virtual Environment(Client端瀏覽器控管Server端) |
![]() |
Proxmox Virtual Environment(Client端瀏覽器開啟虛擬機) |
III. Ubuntu Enterprise Cloud.
![]() |
Ubuntu Enterprise Cloud(安裝畫面) |
![]() |
Ubuntu Enterprise Cloud(Cluster端主機安裝畫面) |
![]() |
Ubuntu Enterprise Cloud(Node端安裝畫面) |
![]() |
Ubuntu Enterprise Cloud(安裝完成的畫面) |
![]() |
Ubuntu Enterprise Cloud(Client端使用瀏覽器檢視Cluster端狀態) |
IV. Citrix XenServer.(目前無照片,後續再補)
V. Hyper-V Server 2008 R2.
Hyper-V Server 2008 R2.(安裝畫面)
![]() |
Hyper-V Server 2008 R2.(安裝完成畫面) |
![]() |
Hyper-V Server 2008 R2.(Client端安裝Hyper-V管理員) |
![]() |
Hyper-V Server 2008 R2.(Client端啟動Hyper-V管理員) |
![]() |
Hyper-V Server 2008 R2.(Hyper-V管理員介面) |
VI. Xen or KVM 搭配OpenNebula建置虛擬機叢集.(建置過程未留紀錄照片。)
孰悉了以下的雲端運算伺服器與了解如何實際架設或操作,例如:
I. Google App Engine.
已在GAE上建置的WebApp: http://ppt.cc/vgw4
已在GAE上建置的WebApp: http://ppt.cc/vgw4
II. Hadoop.(建置過程未留紀錄照片。)
研究所期間相關的國科會專題研究計畫:
█ 發展私有小雲計算之具網路安全性高效能異質伺服系統
論文產出I: 虛擬機效能評估及雲端伺服合併率計算。
論文產出II: 雲端伺服存取區網共享儲存之效能評估。
標籤:
伺服器建置管理,
虛擬化技術,
雲端計算,
Citrix XenServer,
Hyper-V R2,
KVM,
Linux,
Proxmox VE,
Vmware,
XEN
研究所時期作品:雲端化網路視訊電話Cloud-VVoIP (2012/07完成第一版)
![]() |
登入帳號介面 |
![]() |
程式操作畫面 |
![]() |
雲端化網路視訊電話-英文版介面(電腦與手機的截圖) |
![]() |
雲端化網路視訊電話(實際操作畫面) |
作品簡易說明:
本作品是在雲端計算系統上設計一個即時性網路視訊電話,使用者藉由瀏覽器連線到我的Web網頁,以帳號驗證登入雲端計算系統,便可以在網頁上透過雲端計算系統的VVoIP程式與另一位上線使用者做網路視訊通話;Android行動裝置的使用者則經由Google Play下載及安裝我們發佈雲端的VVoIP App後,在Adobe AIR App的環境下進行網路視訊通話。
Flash Media Server (at Cloud Side) 和Flash Player (at Client Side) 之間的streaming (video/audio)及data (ActionScript Command)採用TCP-Based RTMP 、RTMPT 或RTMPS協定,具有多串流、多路徑、部分可靠等特性(類似PR-SCTP的特性),可以即時傳輸雲端網路視訊通話。
Flash Media Server (at Cloud Side) 和Flash Player (at Client Side) 之間的streaming (video/audio)及data (ActionScript Command)採用TCP-Based RTMP 、RTMPT 或RTMPS協定,具有多串流、多路徑、部分可靠等特性(類似PR-SCTP的特性),可以即時傳輸雲端網路視訊通話。
雲端網路視訊電話(Cloud-VVoIP)的優點:
1. 使用者在通話前無須取得對方的IP位址,只需要使用對方的ID名稱透過伺服主機即可進行連線。
2. 經由雲端計算的服務並且使用web介面在PC設備(行動裝置則是使用Adobe AIR App介面),即可進行視訊通話。
3. 行動裝置80%成本都使用在硬體設備,太低階的硬體設備無法執行複雜的網路視訊通話的程式與服務。使用雲端計算的方式來進行網路視訊電話,便可以使用Thin-Client等級的行動裝置或終端設備來進行通話連線,不一定要採用高階的行動裝置才可以進行視訊通話。
4. 因為終端設備上是使用web介面連線(行動裝置則是使用Adobe
AIR App介面),VVoIP應用程式是安裝在伺服主機上,而不是安裝在終端設備本身(Android行動裝置則是需要透過Android Market下載安裝),另外VVoIP應用程式的主要運算都交給伺服主機來做,因此終端設備的計算負載變小,並且電源消耗也降低。
5. 雲端計算的服務是使用web介面,所以適合跨不同作業系統平台的終端設備(或行動裝置)上連線視訊通話。
6. 雲端網路視訊電話是經由web介面的方式操作,伺服主機可以即時的掌握連線用戶的人數及了解用戶的使用情形,可以做適當的通話流量調配。登入系統使用Authentication、Authorization、Accounting (AAA)管理機制,實施帳戶管理和使用者認證之機制,並且依照不同身份給予不同的使用權限,如此可以有效加強管理上的安全性。
研究所時期作品: 實現基於PR-SCTP協定的快速語音視訊IP串流在行動無線網絡之間的嵌入式平台 (2011/08 完成第一版)
![]() |
X86平台上的網路視訊電話 |
![]() |
程式功能解說 |
![]() |
語音與影像傳送的資料流與週邊裝置的關係 |
實現在Embedded system(ARM平台:Mini2440)上的網路視訊電話 |
作品簡易說明:
傳統在x86架構的PC上使用網際網路Video/Voice over IP (VVoIP)應用,傳輸層通訊協定採用TCP或UDP是有不錯的表現。但是如果將VVoIP實現在ARM-Based嵌入式平台之無線網路環境, VVoIP的通話連線效能遭受到一些侷限性的問題。例如TCP通訊協定無法達成即時性的封包傳遞效能,而UDP通訊協定封包傳遞常常會發生封包的遺失、重複、或順序錯置等等問題。而IETF所提出的串流控制傳輸協定Stream Control Transmission Protocol(SCTP)提供了幾個很好的特性。
SCTP:
SCTP:
1.
Multi-homing:這個特性使一個端點可以擁有多個網路IP,可以更容易的在不同的IP的切換;並且可以動態的加入新的網路位址到連線中,也可以動態的由連線中移除某一個網路位址。當主要線路(primary path)發生擁塞時,在使用者可以忍受的時間內,切換到另一個可以使用的線路,使得使用者可以繼續通話,而不會有所查覺線路中斷。
2.
Multi-streaming:透過多個虛擬的通道,來同時傳遞不同的封包,並且當其中任一種封包遺失時,並不會影響到其它封包的傳遞,因而達到更好的效能。
3.
PR-SCTP:PR-SCTP是SCTP的延伸,它定義了不完全可靠度傳輸(partial reliable)的新服務。採用PR-SCTP通訊協定的優勢,就是當不重要的封包因延遲或遺失的時候,來不及在接收端接收,可以將那些封包忽略掉,而持續進行後面其他封包的傳送或接收,因此可以達成即時性封包傳輸的效能。
透過以上這些特性,使得我們很容易透過SCTP來完成多個網路之間移動,並不會讓使用者查覺資料傳送中的中斷,還可達成在不同基地台之間無縫式換手連線,實現即時性視訊語音網路電話。
![]() |
在不同基地台之間無縫式換手連線 |
使用技術或工具:Linux(ubuntu)、Qtopia/QtE、PR-SCTP協定、OpenCV、
Qmake、arm-none-linux-gnueabi-4.4.3、C語言、
Embedded System(ARM platform: Mini2440)。
國科會編號:NSC99-2220-E-390-002
OpenFoundry: http://of.openfoundry.org/of/projects/1717
說明手冊以及Source Code都在OpenFoundry裡,有興趣的人再去下載學習。
程式碼授權:OSI: GNU Affero General Public License v3 (AGPL3)
研究所時期作品:Embedded system上的GPS定位與電子地圖程式 (2010/12 完成第一版)
大學時期作品:C#語言完成的2D小遊戲(PacMan 2009大學畢業展前完成最終版)
訂閱:
文章 (Atom)