感覺工作後很容易忘事,乘著現在還熟悉yii2的時候,寫個大型攻略,方便之後自己學多了,學雜了後,忘記一些細節的流程。
1.一個系統開發的第一步一定是裝系統嘛。首先環境,wamp,xampp,phpstudy,這三個windows下我覺得比較好的整合包。一鍵搭建php+Apache+nginx環境。
wamp: http://www.wampserver.com/en/#download-wrapper
xampp: https://www.apachefriends.org/zh_cn/download.html
phpstudy: http://www.phpstudy.net/a.php/211.html
2.以xampp安裝為例。安裝完之後。點選apache和mysql的start按鈕,開啟
這裡寫圖片描述
3.配置php的環境變數,按下圖步驟進行配置即可

4.然後去yii官網下載最新的yii2 :http://www.yiiframework.com/download/
下載advanced這個高階版,應該這個可以支援前後臺。下載完之後,點選目錄下的init.bat即可初始化完成。

5.配置虛擬路徑。這個需要配置兩個地方:
5.1:host檔案修改
C:\Windows\System32\drivers\etc\host
然後新增host。例子如下:
127.0.0.1 frontend.hyii2.com
127.0.0.1 backend.hyii2.com

5.2 配置虛擬路徑
這個配置是根據你裝的整合環境不同,地址會有大概的不同,但是總體都是apache下的conf的目錄
xampp:D:\xampp\apache\conf\extra\httpd-vhosts.conf
然後在這個檔案裡面的最下面加上如下的片段。可以修改的幾個地方
DocumentRoot 和Directory下是要配置你的專案所在的路徑,yii2的話是配置到web這個目錄為止的,然後是域名ServerName,這個是要要和host檔案裡面配置的域名一樣即可。都配置好之後需要重啟下apache。

<VirtualHost *:80>
    DocumentRoot "F:/xampp_workspace/yiiBlog/backend/web"
    ServerName backend.blog.com
    ServerAlias 
  <Directory "F:/xampp_workspace/yiiBlog/backend/web">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "F:/xampp_workspace/yiiBlog/frontend/web"
    ServerName frontend.blog.com
    ServerAlias 
  <Directory "F:/xampp_workspace/yiiBlog/frontend/web">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
</VirtualHost>

6.環境基本是搭建好了,這時候在瀏覽器上訪問frontend.blog.com和backend.blog.com是能正常出現頁面的話,說明我們第一步環境配置已經完成了。然後這時候需要連線資料庫。
首先建立資料庫。你可以用sqlYog,navigate,workbench或者xampp自帶的phpmyadmin的這幾個資料庫管理軟體。
這裡我採用原生的phpmyadmin。只要在瀏覽器中輸入http://localhost/phpmyadmin即可(賬號root,密碼預設為空)。然後建立新的資料庫,設定名字為blog。然後倒入一張預設的user表。
在執行以下的sql語句即可

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `username` varchar(255) NOT NULL COMMENT '使用者名稱',
  `auth_key` varchar(32) NOT NULL COMMENT '自動登入key',
  `password_hash` varchar(255) NOT NULL COMMENT '加密密碼',
  `password_reset_token` varchar(255) DEFAULT NULL COMMENT '重置密碼token',
  `email_validate_token` varchar(255) DEFAULT NULL COMMENT '郵箱驗證token',
  `email` varchar(255) NOT NULL COMMENT '郵箱',
  `role` smallint(6) NOT NULL DEFAULT '10' COMMENT '角色等級',
  `status` smallint(6) NOT NULL DEFAULT '10' COMMENT '狀態',
  `avatar` varchar(255) DEFAULT NULL COMMENT '頭像',
  `vip_lv` int(11) DEFAULT '0' COMMENT 'vip等級',
  `created_at` int(11) NOT NULL COMMENT '建立時間',
  `updated_at` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=560 DEFAULT CHARSET=utf8 COMMENT='會員表';

7.建立好資料庫表之後,再將yii中連線資料庫的配置檔案修改即可:

然後將common/config/main-local.php檔案裡面的配置修改成如下樣子

'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=blog',//dbname修改成之前建立的資料庫的名字
            'username' => 'root',//連線資料庫的賬號和密碼,xampp預設賬號root,密碼為空
            'password' => '',
            'charset' => 'utf8',
        ],

8.然後可以在瀏覽器上輸入frontend.blog.com,然後點選signUp按鈕註冊使用者。這裡的使用者是前後端公用一張表的,然後前後端都能登入成功即可