亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

使用 Windows Linux Subsystem 配置開發(fā)環(huán)境

Jenny_Tong / 2133人閱讀

摘要:微軟前些日子公布了下簡(jiǎn)稱,當(dāng)時(shí)還只有支持安裝,作為普通用戶的我就沒有嘗試。解決方案有待進(jìn)一步發(fā)掘。按照剛剛發(fā)布的報(bào)告,微軟已經(jīng)是開源貢獻(xiàn)第一大公司,擁抱之后我們也可以在下進(jìn)行開發(fā)了。

微軟前些日子公布了 Windows Subsystem Linux(下簡(jiǎn)稱WSL),當(dāng)時(shí)還只有 Insider Preview 支持安裝,作為普通用戶的我就沒有嘗試。這兩天不知道伴隨哪次更新,標(biāo)準(zhǔn)的專業(yè)版也可以安裝了,就試著配了一下,發(fā)現(xiàn)效果還比較理想,基本可以替代之前的 IIS 或者 VirtualBox 方案。這里簡(jiǎn)單記錄一下。

(2016-12-02 更新)隨著最近一次 1607 更新,家庭版也可以安裝了,效果基本一樣。

安裝 WSL

開始 > 設(shè)置 > 系統(tǒng) > 應(yīng)用和功能 > 拖到最下面“程序和功能”。然后點(diǎn)擊“啟用或關(guān)閉 Windows 功能”,找到“適用于 Linux 的 Windows 子系統(tǒng)(beta)”,啟動(dòng)之。

之后系統(tǒng)會(huì)要求重啟,聽它的。

然后打開命令行(或者 PowerShell,下同),輸入 bash,提示需要切換到開發(fā)者模式。按照提示切過(guò)去,然后再次運(yùn)行 bash,系統(tǒng)會(huì)安裝需要的組件。這個(gè)過(guò)程會(huì)比較久,大概源都在國(guó)外吧。安裝完成后又要重啟,之后 WSL 就算安裝成功。

再次打開命令行,輸入 bash,就可以進(jìn)入 Linux 子系統(tǒng)了。

安裝 PHP,配置Apache

WSL 其實(shí)就是 Ubuntu 14.04.5,所以安裝包直接用 apt-get 就可以。嫌慢的話可以換上國(guó)內(nèi)的源,不趕時(shí)間就讓它慢慢更新。

sudo apt-get update
sudo apt-get upgrade

然后添加 PHP 源。

sudo add-apt-repository ppa:ondrej/php

需要注意,以前那個(gè) ppa:ondrej/php5-5.6 的源已經(jīng)被移除了,5.5 到 7.1 都用 ondrej/php 這個(gè)新源。如果非要用 5.4 的話,還有個(gè) php5-oldstable 的源。

這里順便把幾個(gè)可能用到的組件也裝上。

sudo apt-get install php
sudo apt-get install php-mysql
sudo apt-get install php-xdebug
sudo apt-get install php-apcu
sudo apt-get install php-xml
sudo apt-get install php-mcrypt

這次我本來(lái)打算用 Nginx,裝上之后啟動(dòng)不了,Google 之,似乎是 WSL 對(duì) IP v6 的支持有問(wèn)題,遂卸掉繼續(xù)用 Apache。反正本地開發(fā)嘛,性能并發(fā)不是什么問(wèn)題。

Ubuntu 自帶 Apache 2.4.7,直接 sudo service apache2 start 啟動(dòng)就好。不過(guò)這里遭遇到 vhost 的問(wèn)題,我配置的虛機(jī)怎么都不生效,最后在 stack overflow 上找到解決方案,說(shuō)是 000-default 和自定義的主機(jī)沖突,禁用掉默認(rèn)配置就好了。

sudo a2enmod vhost_alias
sudo a2dissite 000-default
sudo a2ensite 001-mysite

然后還需要調(diào)整一下模塊,比如要進(jìn)行 WordPress 開發(fā),就要保證重定向生效。

sudo a2enmod php7.1
sudo a2enmod rewrite

另外,Apache 2.4 要求配置目錄的“訪問(wèn)條件”,不然不能訪問(wèn)(會(huì)返回 “403 Forbidden”,改目錄權(quán)限也沒有用),所以要增加一行:


  ...
  Require all granted # 允許所有來(lái)源
  AllowOverride All # 允許重定向,WordPress 必備
  ...

全部配置好之后,重啟 apache,訪問(wèn)配置的域名,就可以了。

使用 cmder 替換 PowerShell

PowerShell 也好,自帶的命令行也好,都不好用。要么字體難看得要死,要么中文輸入有問(wèn)題,而且不支持多窗口。這里推薦 cmder,很好用,體驗(yàn)提升明顯。

cmder 支持打開窗口并執(zhí)行啟動(dòng)腳本,可以一鍵進(jìn)入 Linux 控制臺(tái),只要按下圖進(jìn)行配置即可。

然后再修改啟動(dòng)時(shí)默認(rèn)的 tab。

啟用 Ruby

這個(gè)版本的 Ubuntu 集成了 rvm,通過(guò) rvm list 可以看到已經(jīng)安裝了 Ruby 2.3.0。但是直接運(yùn)行 ruby 卻提示沒有安裝,運(yùn)行 rvm use 2.3.0 提示

RVM is not a function, selecting rubies with "rvm use ..." will not work.
You need to change your terminal settings to allow shell login.
Please visit https://rvm.io/workflow/screen/ for example.

這個(gè)很奇怪,以前沒有遇見過(guò)。通過(guò) Google 得知,這是因?yàn)槟J(rèn)的登錄方式?jīng)]有讀取 ~/.bash_login 里的配置信息,沒有加載到 rvm 需要的方法,所以需要在啟動(dòng) WSL 的時(shí)候增加參數(shù) --login,所以回到上一步,修改啟動(dòng)腳本,問(wèn)題解決。

%windir%system32ash.exe ~ -cur_console:p --login

(這里我還去掉了zsh,因?yàn)檫@臺(tái)電腦似乎沒有安裝這個(gè)包,我不知道是不是默認(rèn)不安裝的問(wèn)題。)

安裝 MySQL

原以為安裝 MySQL 最簡(jiǎn)單,沒想到也有坑……主要是 5.7 的坑。

我比較喜歡新版本,所以自然就準(zhǔn)備上 5.7。Ubuntu 自帶的源是 5.5 或者 5.6,所以要先更新一下:

wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
sudo apt-get update

好了,接下來(lái)直接安裝就好:

sudo apt-get install mysql-server

根據(jù)提示信息安裝 MySQL Server 5.7,設(shè)置 root 密碼。這個(gè)階段多半不會(huì)出問(wèn)題。安裝完成之后,運(yùn)行 mysql -uroot -p,輸入剛才設(shè)置的密碼,不出意外的話就可以進(jìn)入 MySQL 控制臺(tái)了。

接下來(lái)我們通常要設(shè)置開發(fā)用戶,此時(shí)問(wèn)題也就來(lái)了。(這個(gè)問(wèn)題在我的幾臺(tái)機(jī)器上,包括 VPS 表現(xiàn)不一,時(shí)有時(shí)無(wú),所以我不太確定到底什么情況下會(huì)發(fā)生。)

CREATE USER "someone"@"localhost" IDENTIFIED BY "password";

執(zhí)行這句 SQL 將創(chuàng)建一個(gè)用戶,看起來(lái)完全不會(huì)有問(wèn)題,結(jié)果卻報(bào)錯(cuò)了:ERROR 1054 (42S22): Unknown column "plugin" in "mysql.user"(報(bào)錯(cuò)的列可能不同,但原因是一樣的)。Google 之,原來(lái)隨著 MySQL 版本升級(jí),系統(tǒng)內(nèi)建表的結(jié)構(gòu)也發(fā)生著變化,5.7 需要的字段比起 5.5 甚至 5.4 多了不少。雖然我們直接安裝的 5.7,也不耽誤它按照老的結(jié)構(gòu)創(chuàng)建表……

這個(gè)時(shí)候有兩個(gè)選擇,一是手工把差的列加上,另一個(gè)則是運(yùn)行官方提供的升級(jí)腳本 mysql_upgrade。為表達(dá)對(duì)官方的信任,我選擇了后者。退出 MySQL,回到 SSH,執(zhí)行腳本:

mysql_upgrade --upgrade-system-tables -u root -p

升級(jí)完成之后,再 mysql -uroot -p,輸入密碼,登錄不進(jìn)去了!WTF!怎么回事?!

又是一通 Google,原來(lái) 5.7 之后,開發(fā)團(tuán)隊(duì)移除了 mysql.user 表里的 password 字段,用 authentication_string 取而代之,然而這個(gè)字段并沒有復(fù)制之前 password 的值,所以原來(lái)的密碼就失效了!這是什么鬼……

這里我們又有兩個(gè)選擇,一是想辦法修改 root 密碼,二是卸了重裝……因?yàn)槲耶?dāng)時(shí)沒找到真正的原因(就是上面這個(gè)),所以選擇了后者?,F(xiàn)在我推薦一個(gè)解決方案:

安裝后,進(jìn)入 MySQL 控制臺(tái),輸入 DESC mysql.user;

如果返回 45 rows(行),則不需要升級(jí)系統(tǒng)內(nèi)建表,改干嘛干嘛;如果少于這個(gè)數(shù),就要執(zhí)行 mysql_upgrade

剛才的窗口不要?jiǎng)?,新開一個(gè)窗口,執(zhí)行 mysql_upgrade --upgrade-system-tables -u root -p

執(zhí)行完畢回到剛才的窗口,在 MySQL 環(huán)境下執(zhí)行

UPDATE `mysql`.`user`
SET `authentication_string`=PASSWORD("password")
WHERE `user`="root";
文件互訪

在 WSL 里訪問(wèn)系統(tǒng)中的文件比較容易,使用 /mnt/盤符/路徑 即可。

如果要在 Windows 里訪問(wèn) WSL 里的文件,它們位于 `C:Users你的用戶名AppDataLocallxss`

有待解決的問(wèn)題

有了 WSL,各種依賴 Linux 環(huán)境的東西都可以隨便跑了,利用 apt-get 安裝更新也都很方便。偵聽端口要完全沒有問(wèn)題。但其實(shí)兩個(gè)環(huán)境是隔絕的,Windows 里不能執(zhí)行 Ubuntu 的東西,反之亦然。這樣一來(lái),諸如 Phpstorm 的 File Watcher 包括測(cè)試都無(wú)法正常發(fā)揮作用。解決方案有待進(jìn)一步發(fā)掘。

臨時(shí)解決方案就是通過(guò)命令行啟動(dòng)各種 watch,比如

sass watch
總結(jié)

時(shí)代在發(fā)展,科技在進(jìn)步。按照 GitHub 剛剛發(fā)布的報(bào)告,微軟已經(jīng)是開源貢獻(xiàn)第一大公司,Windows 擁抱 Linux 之后我們也可以在 Windows 下進(jìn)行 PHP 開發(fā)了。世界真美好?。?/p>

順便Ubuntu新版本也比老版本容易配置了,當(dāng)然,也可能是我之前不會(huì)。


首發(fā)于我的博客,兩邊盡量同步更新。
http://blog.meathill.com/tech...


參考:

The main PPA for PHP (5.5, 5.6, 7.0) with many PECL
Support for the new Windows 10 bash shell
手把手安裝 RVM 以及為什么 RVM is not a function
How To Install MySQL on Ubuntu 14.04

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/35795.html

相關(guān)文章

  • 使用 Windows Linux Subsystem 配置開發(fā)環(huán)境

    摘要:微軟前些日子公布了下簡(jiǎn)稱,當(dāng)時(shí)還只有支持安裝,作為普通用戶的我就沒有嘗試。解決方案有待進(jìn)一步發(fā)掘。按照剛剛發(fā)布的報(bào)告,微軟已經(jīng)是開源貢獻(xiàn)第一大公司,擁抱之后我們也可以在下進(jìn)行開發(fā)了。 微軟前些日子公布了 Windows Subsystem Linux(下簡(jiǎn)稱WSL),當(dāng)時(shí)還只有 Insider Preview 支持安裝,作為普通用戶的我就沒有嘗試。這兩天不知道伴隨哪次更新,標(biāo)準(zhǔn)的專業(yè)版...

    kk_miles 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<