php的yii2框架下開發環境xampp,vim,xdebug,DBGp的搭建

引言

Yii1.1的搭建過程見這裏。下面作少量改動,加入composer部分,使之用於Yii2php

選擇Linux桌面環境Deepin2014.3下開發網站的理由很簡單,能截圖,有搜狗輸入法,能夠WPS文檔記錄,終端下複製粘貼很容易,相比ubuntu,fedora死機次數少了,對,就是不用折騰,自帶的。mysql

1、vim和DBGp插件

Deepin2014.3簡體中文,自帶的vim7.4版本,不少配置已經很適合大陸的人使用了,好比Php和Python的調試支持等,不須要從新編譯了。能夠節省很多步驟。jquery

這裏提供一個vim的配置文件,已經自帶了DBGp這個vim的插件,在~文件夾下解壓縮,獲得.vim和.vimrc文件,就已經在~文件夾下了。 注意,複製以前作好你文件的備份,複製完畢後,命令linux

ls -la ~

查看是否有.vim .vimrc這兩個文件,還須要安裝一下cscope和ctags,就能夠了。你用vim隨便打開一個文件,好比git

vim test.php

,若是沒有提示其餘錯誤說明這個配置文件暫時適合你了。github

2、xampp

xampp專爲php開發設計,須要的apache,mysql,php已經自帶了。特別提醒,請下載PHP版本高於5.4支持Yii2.0的xampp。 這個網上很容易下到xampp for linux的版本,我下載的就是xampp-linux-x64-<>-install.run的文件 ,使用web

sudo <path-to>/xampp-linux-x64-<>-install.run

就能夠了(若是沒有執行權限,本身加sql

chmod a+x <path-to>/xampp-linux-x64-<>-install.run

)。下面基本是傻瓜式安裝。apache

安裝好後,若是沒有啓動,能夠採用以下命令啓動。json

sudo /opt/lampp/lampp restart

或者提示你啓動成功了,你能夠打開瀏覽器,在地址欄輸入 localhost 回車,應該會跳轉到http://localhost/xampp/,如跳轉成功則說明你安裝 xampp 成功了。

須要注意一下幾點,你的網站的根目錄在 /opt/lampp/htdocs。 也就是說,你的xxx.php文件要想被瀏覽器解析,必須放到 /opt/lampp/htdocs 下。 或者說 http://localhost/ 就是 /opt/lampp/htdocs/ 文件。 例如你在 /opt/lampp/htdocs/ 下新建了一個文件夾www,其下有xxx.php文件,也就是 /opt/lampp/htdocs/www/xxx.php 是這個文件, 你若是想在瀏覽器裏查看這個xxx.php,就能夠在瀏覽器裏輸入 http://localhost/www/xxx.php 了。php具體教程網上或者其餘書籍上不少。這裏再也不贅述。

3、xdebug

最新版的xampp自帶了xdebug.so文件。你能夠採用以下命令查找。

sudo find /opt/lampp -name *xdebug*

你能夠看到相似/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so的文件。

若是有這個文件,本段的下面就能夠跳過去了。若是沒有則使用以下方式方式來解決。

使用如下命令安裝

sudo apt-get install php5-xdebug

安裝好後應該會有相似以下的這個xdebug.so文件,/usr/lib/php5/<20121212, date folder>/xdebug.so其實咱們只須要找個 xdebug.so 文件,把xdebug.so複製到 /opt/lampp/lib 下。

sudo cp /usr/lib/php5/<20121212,date folder>/xdebug.so /opt/lampp/lib

刪除安裝的一系列PHP不須要的內容,

sudo apt-get purge php5-common

若是你須要php5,能夠保留。關於xdebug的安裝和使用說明自行百度。這裏知道它是調試Php代碼的就足夠了。

 

或者到這裏下載。http://code.activestate.com/komodo/remotedebugging/。裏面有PHP的調試部分,根據本身的PHP版本選擇合適的Xdebug.so。版本不合適,可能致使失效。

4、配置php.ini文件

下面參照這裏,對應 xampp,可使用以下幾個步驟來配置。

1 root權限打開編輯xampp的php.ini文件,/opt/lampp/etc/php.ini

sudo vi /opt/lampp/etc/php.ini

固然你也可使用其餘編輯器打開。

2 在文中搜索zend_extension,應該能夠看到有一條註釋掉的代碼,以下

;zend_extension=opcache.so

或者其餘的好比

; Module Settings ;

的東西,我是在

;zend_extension=opcache.so
<這兩行代碼之間,插入代碼>
; Module Settings ;

插入的代碼以下:

zend_extension=/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so
; should be your file name

[debug]
; Remote settings
xdebug.remote_autostart=on
;i dislike input ?XDEBUG_SESSION_START=1 in web
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
;this 9000 is from debugger.vim

; General
xdebug.auto_trace=off
xdebug.collect_includes=on
xdebug.collect_params=off
xdebug.collect_return=off
xdebug.default_enable=on
xdebug.extended_info=1
xdebug.manual_url=http://www.php.net
xdebug.show_local_vars=0
xdebug.show_mem_delta=0
xdebug.max_nesting_level=100
;xdebug.idekey=

; Trace options
xdebug.trace_format=0
xdebug.trace_output_dir=/tmp
xdebug.trace_options=0
xdebug.trace_output_name=crc32

; Profiling
xdebug.profiler_append=0
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=0
xdebug.profiler_output_dir=/tmp
xdebug.profiler_output_name=crc32

3 保存退出。

4 重啓apache,我是採用以下命令:

sudo /opt/lampp/lampp restart

5、一個簡單的調試例子

下面默認你已經打開apache了。

sudo /opt/lampp/lampp restart

參考文獻:https://github.com/brookhong/DBGPavim

1 在/opt/lampp/htdocs/文件夾下,新建一個文件夾www,

sudo mkdir /opt/lampp/htdocs/www

把他改成本身的文件夾。

sudo chown <my-user-name> /opt/lampp/htdocs/www

2 新建一個文件test.php

vim /opt/lampp/htdocs/www/test.php

輸入以下代碼

<?php
$text='helloworld';
echo $text;
?>

3 在echo那行,vim命令模式下:w保存,:Bp設置斷點,F5運行。

4 打開瀏覽器輸入 http://localhost/www/test.php,回車。

5 切換回到vim的界面。可能須要按F5,進入調試界面,把光標移到$text(兩個中的任意一個),按F12,應該能夠看到$text的內容了。

6 F2,F3爲單步調試,有點小區別,本身感覺吧。

6、安裝composer

1 建立PHP的系統連接。這裏假設你電腦沒有直接安裝PHP,只有 /opt/lampp/bin 裏面有php程序。

sudo ln -s /opt/lampp/bin/php /usr/local/bin/php

2 安裝composer 安裝的方法有不少,下面介紹兩種。

  • 直接在線安裝的。

cd /opt/lampp/bin
sudo curl -sS https://getcomposer.org/installer | sudo php

該安裝可能會爆出問題,好比

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

等等,能夠參考這裏的解決方案。

第一步:需找驗證鑰匙的地址,使用 php函數openssl_get_cert_locations().

$ php -r "print_r(openssl_get_cert_locations());"
Array(
    
    [default_cert_file_env] => SSL_CERT_FILE
    [default_cert_dir] => /opt/lampp/share/openssl/certs
    [default_cert_dir_env] => SSL_CERT_DIR
    [default_private_dir] => /opt/lampp/share/openssl/private
    [default_default_cert_area] => /opt/lampp/share/openssl
    [ini_cafile] => 
    [ini_capath] => 
)

能夠看到xampp會到

/opt/lampp/share/openssl/cert.pem

找驗證文件。

第二步:下載最新cacert.pem,從這個網址下。

$ cd
$ wget http://curl.haxx.se/ca/cacert.pem

把文件下載到~目錄下。

第三步:創建openssl到默認cert文件到鏈接。

$ sudo mv ~/cacert.pem /opt/lampp/share/openssl/cert.pem

注意:這個

/opt/lampp/share/openssl/cert.pem

要跟上面第一步找到到地址一致。

第四步:重啓xampp

$ sudo /opt/lampp/xampp restart
cd /opt/lampp
sudo php <path-to-installer>/installer

就能夠了。(這個能否?值得商榷,我是使用該方法安裝成功的composer)

3 建立composer系統連接

sudo ln -s /opt/lampp/bin/composer.phar /usr/local/bin/composer

composer命令就安裝好了。

7、Yii2框架的使用和調試

說實在的composer的安裝太頭疼了。網速很慢。強烈建議採用直接下載安裝包,而後在網站根目錄下解壓縮,最後再配置composer用來更新部分插件。爲了之後方便,下面循序漸進的作記錄。

  • 切換到網站根目錄(xampp的爲/opt/lampp/htdocs/),本人一直習慣在下面再建一個文件夾叫www,詳細說明見上文。(最新到1.0.3了)

$ cd /opt/lampp/htdocs/www/
$ composer global require "fxp/composer-asset-plugin:1.0.3"
  • 接下來下載basic,其實我更願意直接下載basic的壓縮包,而後解壓縮在這裏。爲了避免必要的裝,下面用composer一把。

$ composer create-project yiisoft/yii2-app-basic basic 2.0.6

若是不出錯,等段時間應該會有這樣的字樣跳出。

    Could not fetch https://api.github.com/repos/RobinHerbots/jquery.inputmask/contents/bower.json?ref=4551607fef63fd4bcd675479a8c347b668b915eb, please create a GitHub OAuth token to go over the API rate limit
    Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+litianci-pc+2015-06-21+1655
    to retrieve a token. It will be stored in "/home/litianci/.composer/auth.json" for future use by Composer.
    Token (hidden):

看英文的意思是: 給你了一個網址(Head to 後面的是網址),讓你去這個網址用本身的github帳號登陸,獲得一個令牌數,再回來吧這個令牌數貼在下面。 還特別提示你這個令牌數貼進去的時候是看不到的。按着他們說的作,就能夠繼續進行下去了。

  • 簡單的調試一下。

網上,yii的論壇實在資料太豐富了,隨便作網站。使用vim+xampp+xdebug+dbgp類調試php,yii 框架,如今就容易多了。

下面作個說明, 好比想調試./protected/controllers/Helloworld.php文件下的actionHelloworld()函數裏面的部分語句,能夠光標停留在這一行,點擊F9或者vim命令行:Bp在這裏設置斷點,而後點擊F5運行。 跳轉到瀏覽器,打開某個網頁會調用actionHelloworld函數的,瀏覽器應該會卡在這裏。 回到vim的代碼界面,點擊F2等逐步調試就能夠了。

8、問題總結

  • 一、輸入

sudo curl -sS https://getcomposer.org/installer | php

錯誤

    curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 104
    PHP Parse error:  syntax error, unexpected end of file, expecting variable (T_VARIABLE) or heredoc end (T_END_HEREDOC) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in - on line 883

    Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or heredoc end (T_END_HEREDOC) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in - on line 883

我是這樣解決的

cd /opt/lampp
sudo php <path-to-installer>/installer

換一種安裝方式,跳過curl這個操做。

  • 二、彈出以下驗證錯誤信息

    Changed current directory to /home/litianci/.composer
    ./composer.json has been updated
    Loading composer repositories with package information
    The "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
    error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
    Failed to enable crypto
    failed to open stream: operation failedhttps://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of dateUpdating dependencies (including require-dev)
    Nothing to install or update
    Generating autoload files

我是這樣解決的我是特意列出了一個文章來敘述的。最終解決了,可能跟版本有很大關係。

最後給上兩張圖

  • 編輯界面

  • 調試界面

文中可能有說的不明白的見諒。能夠bubifengyun@sina.com聯繫。

原文連接:http://my.oschina.net/bubifengyun/blog/469235

相關文章
相關標籤/搜索