yii Framework初體驗

最近開始嘗試寫PHP的服務,主要原因是網路主機代管大多還是以PHP為主,成本也比較低。雖然很多也有支援JSP,但是JDK版本都是較舊的。



PHP的支援真的很多,寫程式也蠻方便的,因為再Java有用Framework開發的習慣(appfuse),所以也研究了一下PHP的Framework,原本打算採用Zend Framework,但是發現今年最紅的yii Framework,在Google Trend雖然Zend排名比較高,但是最近三年yii可以說是急起直追,反正都是學新的,當然選最紅的啦~


這篇文章先介紹一下如何安裝
我是使用Windows+Apache+MySQl+PHP(需要 PHP 5.1.0 或之後的版本),這部份安裝就不多做介紹了

1.先到yii Framework下載程式檔(目前是yii Framework 1.1.8版)

2.將檔案解壓縮在Web可存取的目錄,也就是[PHP Home]\htdocs\

3.連線 http://localhost/[yii framework位置]/requirements/ 會顯示出目前的系統檢查還缺什麼元件。以我個人為例,從PDO extension到GD extension with FreeType support都是未通過。分別說明如下:

  • PDO extension:編輯php.ini將extension=php_pdo.dll開啟
  • PDO SQLite extension:不處理(因為用Mysql)
  • PDO MySQL extension:編輯php.ini將extension=php_pdo_mysql.dll開啟
  • PDO PostgreSQL extension:不處理(因為用Mysql)
  • Memcache extension:
  • APC extension:
  • Mcrypt extension:編輯php.ini將extension=php_mcrypt.dll開啟
  • SOAP extension:編輯php.ini將extension=php_soap.dll開啟
  • GD extension with FreeType support:

4.建立你的專案,到Command Line->[yii framework位置]/framework/輸入yiic webapp [project名稱],程式會自動建立project名稱的目錄,假設project名稱為"demo"

5.連線 http://localhost/[yii framework位置]/framework/demo/index.php可以看到你新增的專案,登入帳號密碼為demo/demo或admin/admin

6.修改資料庫設定,修改[yii framework位置]/framework/demo/protected/config/main.php,找到mysql部分的程式碼將預設的sqlite設定換掉,並修改成你的mysql設定


2012/4/20補充
最近安裝遇到幾個問題解決方法如下
1.因為我這次安裝是用AppServ(Apache+PHP+MySQL)安裝包,透過web連線到專案時【You don't have permission to access xxxxx on this server. 】

主要是因為預設訪問目錄的權限設定,找到php.ini(我安裝AppServ是放在C\windows下),找到以下這段

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

把它改成這段(加上Indexes)

<Directory />
    Options Indexes FollowSymLinks
    AllowOverride None
</Directory>


2.在執行yiic時出現找不到mbstring.dll模組的問題 修改php.ini,找到這一行【extension=php_exif.dll】
把它複製起還後註解掉,放在設定mbstring的下面 變成
extension=php_mbstring.dll
extension=php_exif.dll


3.出現【Warning: require_once(D:\AppServ\www\demo/../yii.php) [function.require-once]: failed to open stream: No such file or directory in D:\AppServ\www\demo\index.php on line 13】

這是yii.php路徑設定問題,預設你的專案是在是[yii framework位置]/framework/下,而yii.php也是放在[yii framework位置]/framework/yii下,如果你的網站有搬動,需要修改index.php中yii.php的位置。

0 意見: