2019独角兽企业重金招聘Python工程师标准>>>

引言

Yii1.1的搭建过程见这里。下面做少许改动,加入composer部分,使之用于Yii2。

选择Linux桌面环境Deepin2014.3下开发网站的理由很简单,能截图,有搜狗输入法,可以WPS文档记录,终端下复制粘贴很容易,相比ubuntu,fedora死机次数少了,对,就是不用折腾,自带的。

一、vim和DBGp插件

Deepin2014.3简体中文,自带的vim7.4版本,很多配置已经很适合大陆的人使用了,比如Php和Python的调试支持等,不需要重新编译了。可以节省不少步骤。

这里提供一个vim的配置文件,已经自带了DBGp这个vim的插件,在~文件夹下解压缩,得到.vim和.vimrc文件,就已经在~文件夹下了。 注意,复制之前做好你文件的备份,复制完毕后,命令

ls -la ~

查看是否有.vim .vimrc这两个文件,还需要安装一下cscope和ctags,就可以了。你用vim随便打开一个文件,比如

vim test.php

,如果没有提示其他错误说明这个配置文件暂时适合你了。

二、xampp

xampp专为php开发设计,需要的apache,mysql,php已经自带了。特别提醒,请下载PHP版本高于5.4支持Yii2.0的xampp。 这个网上很容易下到xampp for linux的版本,我下载的就是xampp-linux-x64-<>-install.run的文件 ,使用

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

就可以了(如果没有执行权限,自己加

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

)。下面基本是傻瓜式安装。

安装好后,如果没有启动,可以采用如下命令启动。

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具体教程网上或者其他书籍上很多。这里不再赘述。

三、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。版本不合适,可能导致失效。

四、配置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

五、一个简单的调试例子

下面默认你已经打开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为单步调试,有点小区别,自己感受吧。

六、安装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
  • 下载了安装,在浏览器内输入https://getcomposer.org/installer下载一个installer文件,然后

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命令就安装好了。

七、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 limitHead to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+litianci-pc+2015-06-21+1655to 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等逐步调试就可以了。

八、问题总结

  • 1、输入

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

错误

    curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 104PHP 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 883Parse 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这个操作。

  • 2、弹出如下验证错误信息

    Changed current directory to /home/litianci/.composer./composer.json has been updatedLoading composer repositories with package informationThe "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 failedFailed to enable cryptofailed 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 updateGenerating autoload files

我是这样解决的我是特地列出了一个文章来叙述的。最终解决了,可能跟版本有很大关系。

最后给上两张图

  • 编辑界面

  • 调试界面

文中可能有说的不明白的见谅。可以bubifengyun@sina.com联系。

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

转载于:https://my.oschina.net/bubifengyun/blog/469235

php的yii2框架下开发环境xampp,vim,xdebug,DBGp的搭建相关推荐

  1. php larval框架运行环境,4种Windows系统下Laravel框架的开发环境安装及部署方法详解...

    1.准备工作 1.1PHP集成环境 这里我们使用的是XAMPP,XAMPP是一个功能强大的建站集成软件包,采用一键安装的方式,包含PHP7.0.Mysql.Tomcat等.最新版下载地址:PHP 5. ...

  2. 使用Maven搭建Struts2框架的开发环境

    一.创建基于Maven的Web项目 我使用的是MyEclipse8.5的版本,创建好的Web项目如下所示: 我们知道,一个标准的Maven项目是必须包括[src/main/java],[src/mai ...

  3. 全网最强maven教程-使用Maven搭建Struts2框架的开发环境

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态.为了达到这个目标,Mav ...

  4. Linux下开发环境搭建---2. emacs篇

    Linux下开发环境搭建---2. emacs篇 本节主要参考:      曹乐的<在Emacs下用C/C++编程>      王纯业的<Emacs 一个强大的平台>      ...

  5. 【前端开发环境安装、配置、项目搭建全教程】

    前端开发环境安装.配置.项目搭建全教程 1.Node环境安装 简单的说 Node.js 就是运行在服务端的 JavaScrip,基于 Chrome JavaScript 运行时建立的一个平台,Node ...

  6. gRPC在Windows下开发环境搭建(MinGW)

    在Windows下通过MinGW编译gRPC, 并对官方提供的Demo进行编译和测试,本文章记录了从gRPC开发环境搭建到编译,最后测试样例程序全过程,测试结果说明配置过程是正确的.同时本文章可以给广 ...

  7. OpenHarmony编译构建系统详解,从零搭建windows下开发环境,巨方便!

    自从OpenHarmony更新了dev-tool,就可以在windows下构建鸿蒙(轻量型)系统了,这对于进行MCU开发的朋友们,学习鸿蒙OS会友好许多!我们可以更快的构建出系统,方便快速学习和验证. ...

  8. 在Windows7/10上快速搭建深度学习框架Caffe开发环境

    之前在 http://blog.csdn.net/fengbingchun/article/details/50987353 中介绍过在Windows7上搭建Caffe开发环境的操作步骤,那时caff ...

  9. 酷!一键构建我自己的PHP框架的开发环境

    前言 这几天用docker给我自己的PHP框架构建了一个自动化的开发环境.这是一件很爽的事情,我的目标就是仅仅只需执行一个init命令: 项目自己就创建好了,并且初始化完毕 git初始化完毕,并自动第 ...

最新文章

  1. dell 服务器系统6,dell C6100服务器安装windows2008R2系统
  2. 仅用 480 块 GPU 跑出万亿参数!全球首个“低碳版”巨模型 M6 来了
  3. R语言ggpubr包ggsummarystats函数可视化分组条形图(自定义分组颜色、添加抖动数据点jitter、误差条)并在X轴标签下方添加分组对应的统计值(样本数N、中位数、四分位数的间距iqr)
  4. Annotataion
  5. axure怎么做手机app界面_iPhone11手机APP频繁闪退怎么办?
  6. jQuery EasyUI 下拉菜单获取日期,最高年份为当前年份,最低年份为当前年份向前推10年...
  7. 数据挖掘的数据集资源
  8. 计算机桌面无法新建文件夹,Win7桌面不能新建文件夹和修改文件名怎么办?
  9. C语言实现socket网络编程及多线程编程
  10. 《商务与经济统计》练习:案例2-1:Pelican商店促销活动效果评估
  11. 震惊世界的中国秘方————里面的方子都是一个老中医几十年的心血!!!...
  12. Attention UNet
  13. 【B站】陈睿:令人刮目相看的年轻一代
  14. 太极拳什么时间练习最适宜
  15. 嵌入式Linux入门-输入系统应用编程(鼠标、键盘、触摸屏)
  16. AJAX教程系列一:环境安装及第一个ajax程序
  17. mysql的substr函数常用语法
  18. sql存储过程完全教程
  19. (转载)技术族谱:软件开发相关知识体系的整理心得(图)
  20. inno setup 中文乱码问题_Inno Setup添加中文安装语言文件

热门文章

  1. Java8中一个极其强悍的新特性,很多人没用过(非常实用)
  2. 这次终于不再为 iptables 犯迷糊了!
  3. 如何设计一个本地缓存
  4. 论文被拒,项目被砍?斯坦福最惨在读博士教你如何直面失败
  5. 机器学习常见算法及优缺点!
  6. CVPR2021 | 视觉 Transformer 的可视化
  7. 竞赛老陪跑怎么办?来自一位Kaggle比赛失败者的含泪总结
  8. 酸了!给湖北籍学生偷偷发慰问金,中文系还不用上网课,这个学校太贴心!...
  9. 数据恢复工具,每秒钟扫描 1000万文件!
  10. 抢票神器成GitHub热榜第一,支持候补抢票,Python跑起来