仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 927|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:PHP法式员的优化调试手艺和技能

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:15:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
基础这个东西,有人问学php需要任何基础不?法式|法式员|技能|优化       本文引见调试 PHP 使用法式的各类办法,包含在 Apache and PHP 中翻开毛病呈报,和经由过程在一个复杂的 PHP 剧本中放置战略性的 print 语句,找到更坚苦的 bug 的泉源。还会引见用于 Eclipse 的 PHPEclipse 插件,这是一个天真的开辟情况,具有及时语法解析才能,还会引见 PHPEclipse 的 DBG 调试器扩大。

  简介

  有很多 PHP 调试手艺可以在编码的时分勤俭大批工夫。一个无效却很根基的调试手艺就是翻开毛病呈报。另外一个稍微初级一点的手艺包含利用 print 语句,经由过程显示在屏幕上实践呈现的内容,有助于准确地找出更难发明的 bug。PHPEclipse 是一个 Eclipse 插件,可以强调罕见的语法毛病,可以与调试器联合起来用于设置断点。

  设置

  要进修本文描写的概念,需求 PHP、Web 办事器和 Eclipse。调试器扩大撑持的 PHP 版本是 V5.0.3。

  咱们需求一个 Web 办事器来解析用 PHP 创立的页面并把它们显示到阅读器。本文中利用的是 Apache2。然而,任何 Web 办事器都可以知足请求。

  要使用本文中引见的一些调试手艺,需求装置 Eclipse V3.1.1 和插件 PHPEclipse V1.1.8。因为 Eclipse 请求 Java? 手艺,所以还要下载它。

  还需求 PHP 的调试器扩大模块。装置它略有些费事。请细心跟从装置调试器扩大的操作申明。如今,先在 php.ini 文件中正文失落那些请求装入和设置装备摆设 PHP 扩大的行。在需求利用调试器的时分,再作废正文。

  请参阅 参考材料 取得下载信息。如今引见失足动静。

  失足动静

  失足动静是作为开辟人员的第一道防地。谁都不想在一台没有设置装备摆设成显示失足动静的办事器上用 PHP 开辟代码。然而,请记住,今世码调试完成,筹办运转的时分,应该确保封闭了毛病呈报,由于不但愿站点的会见者看到失足动静,由于这会给他们供应足够的信息来使用站点的弱点并黑失落站点。

  也能够用失足动静为本人办事,由于它们会显示抛出或生成毛病的准确代码行。如许,调试就酿成在阅读器上检查生成的毛病所显示的行号,并在代码中反省这一行。稍后,将会看到 PHPEclipse 插件经由过程即时地给语法毛病加下划线并在保留文件时用白色 “x” 标注语法毛病,可在开辟和调试过程当中供应极大的匡助。

  先来看若何在 php.ini 文件中开启毛病呈报并设置毛病呈报的级别。然后将进修若何在 Apache 的设置装备摆设文件中掩盖这些设置。

  PHP 的毛病呈报

  php.ini 文件中有很多设置装备摆设设置。您应该已设置好本人的 php.ini 文件并把它放在适合的目次中,就像在 Linux 上装置 PHP 和 Apache 2 的文档申明中所示的那样(请参阅 参考材料)。在调试 PHP 使用法式时,应该晓得两个设置装备摆设变量。上面是这两个变量及其默许值:
  1. display_errors = Off error_reporting = E_ALL
复制代码
  经由过程在 php.ini 文件中搜刮它们,可以发明这两个变量以后的默许值。display_errors 变量的目标很分明 ―― 它告知 PHP 是不是显示毛病。默许值是 Off。然而,要闪开发进程加倍轻松,请把这个值设为 On:
  1. display_errors = On
复制代码
  error_reporting 变量的默许值是 E_ALL。这个设置会显示从不良编码理论到有害提醒到失足的一切信息。E_ALL 关于开辟进程来讲有点太细,由于它在屏幕上为一些大事(例如变量未初始化)也显示提醒,会弄糟阅读器的输入。我只想看到毛病和不良编码理论,然而不想看到有害的提醒。所以,请用以下值取代 error_reporting 的默许值:
  1. error_reporting = E_ALL & ~E_NOTICE
复制代码
  从头启动 Apache,就全体设置好了。接上去,将进修若何在 Apache 上做一样的事。

  办事器上的毛病呈报

  依附于 Apache 正在做的任务,在 PHP 中翻开毛病呈报能够没法任务,由于在盘算机上能够有多个 PHP 版本。有时很难辨别 Apache 正在利用哪一个 PHP 版本,由于 Apache 只能检查一个 php.ini 文件。不晓得 Apache 正在利用哪一个 php.ini 文件设置装备摆设本人是一个平安成绩。然而,有一种办法可以在 Apache 中设置装备摆设 PHP 变量,从而包管设置了准确的失足级别。

  并且,最好晓得若何在办事器端设置这些设置装备摆设变量,以否决或抢占 php.ini 文件,从而供应更初级其余平安性。

  在设置装备摆设 Apache 时,应当已接触过 <apache2-install-dir>/conf/httpd.conf 中 http.conf 文件中的根基设置装备摆设。

  要做在 php.ini 文件中已做过的事,请把以下各行添加到 httpd.conf,掩盖任何 php.ini 文件:
  1. php_flag display_errors on php_value error_reporting 2039
复制代码
  这会掩盖在 php.ini 文件中为 display_errors 已设置的标记,和 error_reporting 的值。值 2039 代表 E_ALL & ~E_NOTICE。假如情愿采取 E_ALL,请把值设为 2047。一样,仍是要重启 Apache。

  接上去,要在办事器上测试毛病呈报。


[1] [2] [3] [4] 下一页  

  怎么培养啊 别光说不练啊,好 ,比如新人入门自己步是配置环境,虽然现在都有很多的集成环境,但是真实的体验下配置环境还是会有很多帮助,不论是你以后工作还是在真实的linux下开发。
若天明 该用户已被删除
沙发
发表于 2015-2-4 19:00:09 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
谁可相欹 该用户已被删除
板凳
发表于 2015-2-5 11:55:57 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
柔情似水 该用户已被删除
地板
发表于 2015-2-8 20:32:41 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
分手快乐 该用户已被删除
5#
发表于 2015-2-26 05:37:03 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
山那边是海 该用户已被删除
6#
发表于 2015-3-7 17:05:49 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
不帅 该用户已被删除
7#
发表于 2015-3-15 09:52:14 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
因胸联盟 该用户已被删除
8#
发表于 2015-3-17 12:09:28 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
9#
发表于 2015-3-17 12:11:05 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
再现理想 该用户已被删除
10#
发表于 2015-3-21 07:11:37 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
灵魂腐蚀 该用户已被删除
11#
发表于 2015-3-22 06:09:23 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
简单生活 该用户已被删除
12#
 楼主| 发表于 2015-4-4 03:19:54 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
金色的骷髅 该用户已被删除
13#
发表于 2015-4-7 14:25:48 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
第二个灵魂 该用户已被删除
14#
发表于 2015-4-9 22:21:07 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
若相依 该用户已被删除
15#
发表于 2015-4-10 03:51:32 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
精灵巫婆 该用户已被删除
16#
发表于 2015-4-13 16:13:59 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
莫相离 该用户已被删除
17#
发表于 2015-4-14 04:49:43 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
兰色精灵 该用户已被删除
18#
发表于 2015-4-20 16:38:58 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
再见西城 该用户已被删除
19#
发表于 2015-4-21 16:25:02 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
愤怒的大鸟 该用户已被删除
20#
发表于 2015-4-23 10:54:54 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 02:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表