站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
SpeedPHP/程序调试
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{SpeedPHP top}} ==程序调试概述== [[SpeedPHP]]提供了两种开发模式:调试模式和部署模式,让开发者可以在系统不同阶段使用,以保证系统安全和持续的[[二次开发]]。 调试模式是默认的开发模式,可以输出调试变量,使用框架较丰富的错误提示,[[PHP]]错误提示等,令开发者可以尽快找出问题所在,提高开发效率。 部署模式是当系统上线运行后,或实际公开后所使用的开发模式,不会显示PHP错误、框架错误提示、变量调试等,令系统在公网上能较为安全地运行。同时可以通过配置,将错误提示转向到PHP日志中,和进行小规模的变量调试等。 在SpeedPHP第三版中,以上模式加入了一个更优先的调试级别,异常抛出。开发者可以通过设置抛出异常来进行更健壮的程序开发。 ==关闭调试信息与异常抛出== 在SpeedPHP框架的开发中,默认是开启了“调试模式”,那么开发者可以对变量进行输出(dump函数),在出错的时候将显示当前的执行路径等,一系列对于开发调试很有帮助的功能,但在上线运行的项目——也就是在部署使用的项目中,强烈建议关闭调试模式,进入部署模式,以保证系统安全。 [[应用程序]]配置中,'mode' => 'debug'是调试模式,设置'mode' => 'release'将是部署模式。 <pre>$spConfig = array( 'mode' => 'debug' // 默认的调试模式 ); $spConfig = array( 'mode' => 'release' // 部署模式 ); </pre> ===调试模式=== *是SpeedPHP的默认开发模式。 *打开PHP错误警告。 *打开spError框架系统错误提示,显示当前错误执行路径和[[代码]]位置。 *开启dump变量调试,dump信息可以正常输出到[[页面]]中。 *允许模板引擎(主要是[[Smarty]])的调试功能。 *[[SAE]]环境中开启SAE自带的错误提示。 *部分扩展类打开调试模式。 *SP_DEBUG常量等于TRUE。 ===部署模式=== *建议在上线运行的系统中使用。 *关闭PHP错误警告,根据服务器设置可能会返回500错误。 *关闭spError错误提示,并调用error_log将错误信息记录到PHP日志中。 d*ump变量调试受配置“allow_trace_onrelease”影响,默认关闭dump调试。 *关闭模板引擎调试功能。 *SAE环境中不开启错误调试。 *部分扩展关闭调试模式。 *SP_DEBUG常量等于FALSE。 dump变量调试在部署模式下,将受配置“allow_trace_onrelease”影响,默认“allow_trace_onrelease”为FALSE,在部署模式中dump将不起作用。而当“allow_trace_onrelease”为TRUE的时候,部署模式下dump也可以输出变量信息。 dump变量的“allow_trace_onrelease”配置,可以作为介乎“调试模式”和“部署模式”的一种折衷方案,在已经部署的系统中,进行小范围的调试的时候,可以打开“allow_trace_onrelease”配置,以能使用dump调试但不会影响系统其他部分的正常运行,而当调试完毕后,建议关闭“allow_trace_onrelease”配置。 ===抛出异常=== 在SpeedPHP 3.1开始,加入了抛出异常的处理,在打开配置“sp_error_throw_exception”的时候(默认不开启为FALSE),将可使用PHP的try-catch来进行对spError错误提示的捕获并由开发者自行处理。 抛出异常的作用在于增强程序的健壮性,并且方便一些专门的应用程序将错误信息进行自定义的处理。 如在对[[数据库]]操作中,发现数据表不存在的时候,框架默认提示spError错误,但在打开了抛出异常的时候,spError将抛出异常,开发者可以捕获数据表不存在的异常信息,而程序不会中断运行。 <pre>$spConfig = array( 'sp_error_throw_exception' => TRUE // 开启异常抛出 ); </pre> 打开抛出异常后: *开发者可以捕获全部spError的错误提示,而不会显示spError默认的提示信息,程序也不会中断运行。 *抛出异常不受开发模式影响,也就是说,无论在“部署模式”还是“调试模式”下,都可以抛出异常。 *当异常抛出后,没有对应的catch处理,会触发PHP的“Uncaught exception”错误(部署模式将不提示)。 <pre>echo "下面当spClass将实例化一个不存在的类.<br />"; try{ $guestbook = spClass("m_not_exist"); }catch(Exception $e){ echo "提示:".$e->getMessage(); } echo "<br />继续运行"; </pre> ==参考来源== http://speedphp.com/manual.html {{SpeedPHP}} [[category:SpeedPHP|C]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:SpeedPHP
(
编辑
)
模板:SpeedPHP top
(
编辑
)