时间:2021-07-01 10:21:17 帮助过:24人阅读
这个问题刚好我也遇到了,解决办法如下
找到:\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 = '') { global $_G;file_put_contents(DISCUZ_ROOT.'./appapi/log.txt',$errormsg.PHP_EOL,FILE_APPEND); ob_end_clean(); $gzip = getglobal('gzipcompress'); ob_start($gzip ? 'ob_gzhandler' : null);//后面的就不复制了...}
首先感谢jam00的回答,但我这个论坛是discuzX2的版本,我在 \source\class\class_error.php中进行了您说的相应修改:
function show_error($type, $errormsg, $phpmsg = '') { global $_G; file_put_contents('http://192.168.1.101/bbs/android/log.txt',$errormsg.PHP_EOL,FILE_APPEND); //file_put_contents(DISCUZ_ROOT.'./android/log.txt',$errormsg.PHP_EOL,FILE_APPEND); ob_end_clean(); $gzip = getglobal('gzipcompress'); ob_start($gzip ? 'ob_gzhandler' : null);
若你想和discuz的数据完美结合,并减少开发时间的话,建议你还是用discuz已有的DB类和方法
我不知道zend 在哪里处理了sql,不过执行sql错误,你可以用mysql_error()获取错误信息,用file_put_contents输出到一个txt里面
把你接口的相关代码亮出来。
没代码怎么解决问题。。。
这个需要看你的接口了,能不能手工单独调试?
如果能,你只需要关心传送的参数
像你这样对发挥数据做了包装的系统,需要对客户端和服务端分开来调试
谢谢大家,尤其谢谢最先提供帮助的jam00,问题已经解决了。通过查看mysql_error,的报错,最后修改了forum_post的一个字段类型。