如何查看android回传给php-server(依托discuz的接口)参数后执行的sql语句
项目配置描述如下:
服务器端:discuz,正在调试连接android的服务器端接口(用来接收android端发送过来的请求)
客户端:Android4.4
问题流程描述如下:
android端在论坛发帖后,使用httppost封装参数,通过httpclient发送到php端的相关url;在php端执行相关的sql操作,通过mysql_query返回true或者false给android端。
问题描述如下:
现在在android端得到发帖返回的结果是{"result":"post failed"} ,(ˇ?ˇ) 想到可能是php端在执行sql操作时发生了错误,想查看php端执行的sql语句。由于我的php接口是依托于discuz的,如果单独将该接口通过zend studio部署到Apache的htdocs,我试过,没有部署成功,无法接收android端发送的参数
想咨询下大家,
1)有没有可能将此接口部署到apache以接收android端的数据(win7,apache,mysql,php5.25,zend studio 10.0)
2)如果没有,怎么调试android端传送给php服务端的参数;现在主要想查看回传给php服务端后,执行的sql语句。
先谢谢大家了
------解决方案--------------------
这个问题刚好我也遇到了,解决办法如下
找到:\source\class\discuz\discuz_error.php,并打开
搜索:show_error($type, $errormsg, $phpmsg = '', $typemsg = '')
在show_error函数下面,用file_put_contents函数将$errormsg打印到一个txt里面
public static function show_error($type, $errormsg, $phpmsg = '', $typemsg = '') {<br /> global $_G;<br />file_put_contents(DISCUZ_ROOT.'./appapi/log.txt',$errormsg.PHP_EOL,FILE_APPEND);<br /> ob_end_clean();<br /> $gzip = getglobal('gzipcompress');<br /> ob_start($gzip ? 'ob_gzhandler' : null);<br />//后面的就不复制了...<br /><br />}