一次粗心,让我学会了如何搭建php环境,坑越多越有成就感

线上php程序出现了问题,商品页面无法正常访问,对于java开发工程师来说有一些困难,因为之前没有相关经验,一开始自己内心也是挺排斥的,然而问题摆在那里,只能去硬着头皮去解决。首先是查看错误日志,定位问题,看究竟那里出现了错误。然后根据nginx配置,看页面是如何转发,真正的请求地址是什么,我的粗心就在nginx配置上,因为括号没有对齐,导致我忽略了下面的配置,其实最终的问题出现在nginx配置上,不过如果没有看代码,也不能很快的发现nginx配置有问题。


第一天查看了php的代码,大致了解了代码逻辑,知道一次请求经过了哪些文件,所有的文件都是通过index.php来处理,根据参数的拼接,找到对应的controller,再到model层去查询数据,先查缓存,如果缓存没有命中,回源查数据库,数据拼接好之后,返回视图层,对应的页面文件,mvc的模型,和java是相通的。


因为一开始以为是代码有问题,所以想通过本地调试,找到代码问题出现在哪里?决定搭建php本地环境,上网查资料,开始了采坑之旅。

第一步ide工具,因为喜欢idea,搜了一下idea for php,发现phpstorm就是我要找的。

第二步安装wamp,第一次安装了一个32位的,后面因为要安装xdebug,然后去官网下载了一个64位的。wamp我感觉就像一个工具箱,集成了apache服务器,php,mysql等常用工具,能方便快速开发。

公司同事找到了以前开发php应用的同事,拉了一个微信群,在群中请教了前同事一些问题,如果本地调试,要修改一些参数,php版本建议使用5.5.18,我看php最新版本都已经7.3,我下载的wamp,只有以下版本的php

只好去下载php5.5.18的版本,现在方式:

下载之后解压到wamp中的bin/php目录之下。还需要做一些修改,默认安装的php,会多出两个文件,如下图。

从默认安装的php中把wampserver.conf文件复制到新下载的PHP5.5.18文件夹中。复制目录下的php.ini-development并重命名为phpForApache.ini。完成以上步骤之后,左键wamp图标,php->version->5.5.18,让5.5.18作为默认php版本。

测试步骤:访问wamp首页

接下来要配置phpstorm环境,首先从git下载代码,需要将代码下载到wamp的www目录下,我的目录是D:wamp64www。修改代码之后,不需要重启服务器,这个比java要好很多,当然java也能够完成热部署,可以安装jrebel插件,可以达到同样的效果。

下一步需要配置php,就好比设置java的jdk。

下一步设置访问php的路径,有点类似于nginx的location。设置方法如下

测试:

接下来要debug代码,需要安装插件。

网上的说法是将phpinfo的信息,拷贝到如下文本框中

结果说5.5不支持,只好点看download,碰碰运气,还真的被找到了

切记不要下载第一个,我一开始下载了第一个,各种安装不成功,然后我就去看默认安装的php,xdebug是什么样的文件。

第一个下载的地址是:

第三个下载地址是:

好像这两个地址搞反了,这是一个大坑。

需要在D:wamp64inapacheapache2.4.39in目录下的php.ini文件下添加下面的配置,配置含义是配置xdebug的路径,是否打开debug,debug端口,默认9000,因为我的被占用了,我改成了9001。

[Xdebug]

zend_extension="D:wamp64inphpphp5.5.18zend_extphp_xdebug-2.5.5-5.5-vc11-x86_64.dll"

xdebug.remote_enable=1

xdebug.remote_port=9001

xdebug.remote__handler=dbgp

xdebug.remote_mode=req

xdebug.remote_host=localhost

点击validate进行测试

如果全部ok说明安装成功,或者通过phpinfo,查看。

第三步开启listening,第四步安装浏览器xdebug插件。

火狐安装完xdebug插件如下图:

可以正常debug调试了,花了挺长时间,开到成功了,很开心,别急,还有坑在后面,开始debug代码,一步一步的跟踪,结果发现查询数据库的时候,就不动了,也不报错,又是各种找资料,然后自己从网上找了一个简单的连接数据库的代码,一运行,发现没有加载mysql的库。一开始把mysql的扩展打开,结果后面又缺少其他的扩展,最后把扩展都打开了,如下图,要修改的文件是:D:wamp64inapacheapache2.4.39inphp.ini

最后发现页面能正常访问,又去重新查找nginx,发现是nginx配置的不对,然后把nginx配置修改,重新加载配置,问题ok了。

一次粗心大意,让我体验了一把php本地环境,虽然踩了一些坑,但是收获还是挺多的,假如将来出现问题,就更有信心了,因为知道该如何调试了。过程中,有很多时候都想过放弃,后面还是咬着牙逼着自己去克服,很多时候我们都会遇到各种各样的困难,需要鼓励自己,相信自己能行。最后以一句尼采的话和大家一起共勉,“知道为什么而活的人,便能生存”。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容