منبع اصلی نوشتار زیر در این لینک قرار دارد

چگونه در yii دیباگ کنیم؟

داکیومنت Yii برای Debug کردن خیلی خوبه که از اینجا می تونید بخونید. من خودم برای دیباگ کردن از دوتا راه استفاده می کنم

۱- راه حل قدیمی تر من :

'log'=>array(
			'class'=>'CLogRouter',
			'routes'=>array(
				array(
					'class'=>'CFileLogRoute',
					'levels'=>'error, warning',
				)))

CFileLogRoute رو load می کنم و الان دارم بهش می گم در error ها و warning هارو لاگ بگیر، لاگ ها به فایل  protected/runtime/application.log اضافه میشه، من خودم با tailf آخرین تغییراتش رو می بینم.

tailf application.log

برای لاگ کردن هم از

Yii::log(CVarDumper::dumpAsString($obj),  CLogger::LEVEL_ERROR);

استفاده می کنم.

۲- راه حلی که الان استفاده می کنم:

اولین بار phpconsole رو توی Zend دیدم، فریم ورکی که هیچوقت دوسش نداشتم و نخواهم داشت! الان برای دیباگ کردن از phpconsole استفاده می کنم، extensionش رو از اینجا روی کروم نصب کنید ، بعد extension اونو برای Yii از اینجا دانلود کنید.

با استفاده از phpconsole میشه به جای خوندن فایل application.log لاگ هارو داخل console کروم چاپ می کنه و بصورت notification هم نشون میده کاری که دقیقا انجام میده اضافه کردن PHP-Console به Header صفحه است.

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:close
Content-Encoding:gzip
Content-Length:1609
Content-Type:text/html
Date:Thu, 05 Dec 2013 13:44:59 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
PHP-Console:{"protocol":5,"auth":null,"docRoot":"\/var\/www","sourcesBasePath":"\/var\/www","getBackData":null,"isLocal":false,"isSslOnlyMode":false,"isEvalEnabled":false,"messages":[{"type":"error","code":0,"class":"CHttpException","data":"The system is unable to find the requested action \"create2\".","file":"\/var\/www\/yii-1.1.14\/web\/CController.php","line":483,"trace":[{"file":"\/var\/www\/perads\/index.php","line":13,"call":"CApplication->run()"},{"file":"\/var\/www\/yii-1.1.14\/base\/CApplication.php","line":180,"call":"CWebApplication->processRequest()"},{"file":"\/var\/www\/yii-1.1.14\/web\/CWebApplication.php","line":141,"call":"CWebApplication->runController('ad\/campaign\/cr...')"},{"file":"\/var\/www\/yii-1.1.14\/web\/CWebApplication.php","line":282,"call":"CController->run('create2')"},{"file":"\/var\/www\/yii-1.1.14\/web\/CController.php","line":270,"call":"CController->missingAction('create2')"}]}]}
Pragma:no-cache
Server:Apache/2.2.22 (Debian)
Vary:Accept-Encoding
X-Powered-By:PHP/5.4.4-14+deb7u5

البته یکسری قابلت دیگه هم داره که می تونید از سایت http://phpconsole.com/ بخونید.



برچسب ها : , ,