1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > php的yii2框架下开发环境xampp vim xdebug DBGp的搭建

php的yii2框架下开发环境xampp vim xdebug DBGp的搭建

时间:2020-03-09 05:37:47

相关推荐

php的yii2框架下开发环境xampp vim xdebug DBGp的搭建

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

引言

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

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

一、vim和DBGp插件

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

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

ls -la ~

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

vimtest.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

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

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

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

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

sudo/opt/lampp/lampprestart

或者提示你启动成功了,你可以打开浏览器,在地址栏输入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文件。你可以采用如下命令查找。

sudofind/opt/lampp-name*xdebug*

你可以看到类似/opt/lampp/lib/php/extensions/no-debug-non-zts-1226/xdebug.so的文件。

如果有这个文件,本段的下面就可以跳过去了。如果没有则使用如下方式方式来解决。

使用以下命令安装

sudoapt-getinstallphp5-xdebug

安装好后应该会有类似如下的这个xdebug.so文件,/usr/lib/php5/<1212, date folder>/xdebug.so其实我们只需要找个xdebug.so文件,把xdebug.so复制到/opt/lampp/lib下。

sudocp/usr/lib/php5/<1212,datefolder>/xdebug.so/opt/lampp/lib

删除安装的一系列PHP不需要的内容,

sudoapt-getpurgephp5-common

如果你需要php5,可以保留。关于xdebug的安装和使用说明自行百度。这里知道它是调试Php代码的就足够了。

或者到这里下载。/komodo/remotedebugging/。里面有PHP的调试部分,根据自己的PHP版本选择合适的Xdebug.so。版本不合适,可能导致失效。

四、配置php.ini文件

下面参照这里,对应xampp,可以使用如下几个步骤来配置。

1 root权限打开编辑xampp的php.ini文件,/opt/lampp/etc/php.ini

sudovi/opt/lampp/etc/php.ini

当然你也可以使用其他编辑器打开。

2 在文中搜索zend_extension,应该可以看到有一条注释掉的代码,如下

;zend_extension=opcache.so

或者其他的比如

;ModuleSettings;

的东西,我是在

;zend_extension=opcache.so<这两行代码之间,插入代码>;ModuleSettings;

插入的代码如下:

zend_extension=/opt/lampp/lib/php/extensions/no-debug-non-zts-1226/xdebug.so;shouldbeyourfilename[debug];Remotesettingsxdebug.remote_autostart=on;idislikeinput?XDEBUG_SESSION_START=1inwebxdebug.remote_enable=onxdebug.remote_handler=dbgpxdebug.remote_mode=reqxdebug.remote_host=localhostxdebug.remote_port=9000;this9000isfromdebugger.vim;Generalxdebug.auto_trace=offxdebug.collect_includes=onxdebug.collect_params=offxdebug.collect_return=offxdebug.default_enable=onxdebug.extended_info=1xdebug.manual_url=xdebug.show_local_vars=0xdebug.show_mem_delta=0xdebug.max_nesting_level=100;xdebug.idekey=;Traceoptionsxdebug.trace_format=0xdebug.trace_output_dir=/tmpxdebug.trace_options=0xdebug.trace_output_name=crc32;Profilingxdebug.profiler_append=0xdebug.profiler_enable=0xdebug.profiler_enable_trigger=0xdebug.profiler_output_dir=/tmpxdebug.profiler_output_name=crc32

3 保存退出。

4 重启apache,我是采用如下命令:

sudo/opt/lampp/lampprestart

五、一个简单的调试例子

下面默认你已经打开apache了。

sudo/opt/lampp/lampprestart

参考文献:/brookhong/DBGPavim

1 在/opt/lampp/htdocs/文件夹下,新建一个文件夹www,

sudomkdir/opt/lampp/htdocs/www

把他改为自己的文件夹。

sudochown<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程序。

sudoln-s/opt/lampp/bin/php/usr/local/bin/php

2 安装composer 安装的方法有很多,下面介绍两种。

直接在线安装的。

cd/opt/lampp/binsudocurl-sS/installer|sudophp

该安装可能会爆出问题,比如

error:14090086:SSLroutines:SSL3_GET_SERVER_CERTIFICATE:certificateverifyfailed

等等,可以参考这里的解决方案。

第一步:需找验证钥匙的地址,使用 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$wgethttp://curl.haxx.se/ca/cacert.pem

把文件下载到~目录下。

第三步:建立openssl到默认cert文件到连接。

$sudomv~/cacert.pem/opt/lampp/share/openssl/cert.pem

注意:这个

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

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

第四步:重启xampp

$sudo/opt/lampp/xampprestart

下载了安装,在浏览器内输入/installer下载一个installer文件,然后

cd/opt/lamppsudophp<path-to-installer>/installer

就可以了。(这个可否?值得商榷,我是使用该方法安装成功的composer)

3 创建composer系统链接

sudoln-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/$composerglobalrequire"fxp/composer-asset-plugin:1.0.3"

接下来下载basic,其实我更愿意直接下载basic的压缩包,然后解压缩在这里。为了不必要的装,下面用composer一把。

$composercreate-projectyiisoft/yii2-app-basicbasic2.0.6

如果不出错,等段时间应该会有这样的字样跳出。

Couldnotfetch/repos/RobinHerbots/jquery.inputmask/contents/bower.json?ref=4551607fef63fd4bcd675479a8c347b668b915eb,pleasecreateaGitHubOAuthtokentogoovertheAPIratelimitHeadto/settings/tokens/new?scopes=repo&description=Composer+on+litianci-pc+-06-21+1655toretrieveatoken.Itwillbestoredin"/home/litianci/.composer/auth.json"forfutureusebyComposer.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、输入

sudocurl-sS/installer|php

错误

curl:(56)SSLread:error:00000000:lib(0):func(0):reason(0),errno104PHPParseerror:syntaxerror,unexpectedendoffile,expectingvariable(T_VARIABLE)orheredocend(T_END_HEREDOC)or${(T_DOLLAR_OPEN_CURLY_BRACES)or{$(T_CURLY_OPEN)in-online883Parseerror:syntaxerror,unexpectedendoffile,expectingvariable(T_VARIABLE)orheredocend(T_END_HEREDOC)or${(T_DOLLAR_OPEN_CURLY_BRACES)or{$(T_CURLY_OPEN)in-online883

我是这样解决的

cd/opt/lamppsudophp<path-to-installer>/installer

换一种安装方式,跳过curl这个操作。

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

Changedcurrentdirectoryto/home/litianci/.composer./composer.jsonhasbeenupdatedLoadingcomposerrepositorieswithpackageinformationThe"/packages.json"filecouldnotbedownloaded:SSLoperationfailedwithcode1.OpenSSLErrormessages:error:14090086:SSLroutines:SSL3_GET_SERVER_CERTIFICATE:certificateverifyfailedFailedtoenablecryptofailedtoopenstream:operationfailedcouldnotbefullyloaded,packageinformationwasloadedfromthelocalcacheandmaybeoutofdateUpdatingdependencies(includingrequire-dev)NothingtoinstallorupdateGeneratingautoloadfiles

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

最后给上两张图

编辑界面

调试界面

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

原文链接:/bubifengyun/blog/469235

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。