Since many versions back, I have had an odd problem with daily reports. Yesterday I tried doing a daily report for the entire 2008 year and the script just froze, and after checking server loading, found it was quite high for about 10 to 20 minutes. No report output was ever received. Is anyone else having this problem? I'll try a DB rebuild, but that runs these server at high load for nearly an hour with 17,000 members in my database, plus two plug-ins.
I'm not sure how useful a daily report would be with that much data? I would suggest doing an export to .csv and viewing the data in something like excel.
You should alternate the plugins that use an outside database when rebuilding. For example if using wordpress/amember/phpbb3 I would switch off the phpbb3 plugin and rebuild, then switch on phpbb3, switch off wordpress and rebuild. I think Larry from JLogica has a better rebuild function for amember too. David
I am having the same problem trying to run daily reports for just a one month period of time. It just hangs...never generates reports. This is happening in 3 different versions in Amem.
What type of server are you on, how many members? This is something that is needed in the future version of amember- process XXX number of records at a time instead of all at once. David
I thought I posted the solution to this, but I cannot find it. It was a bug in admin/report.php . There were two lines I believe that Tech support fixed for me. Not sure what it was before, but this is the section of script that was changed. You should be able to run a compare on your own report.php and find exactly what was changed. function next_period($d1, $discretion){ //next first and last day of period $d1_real = $d1; $d1 = strtotime($d1); switch ($discretion){ case 'week': $d1 = $d2 = $d1 + 7*3600*24 + 3600*12; $dd1 = date('w', $d1); $dd2 = date('w', $d2); $d1 = $d1 - ($dd1 - 0) * 3600*24; $d2 = $d2 + (6 - $dd2) * 3600*24; return array(date('Y-m-d', $d1), date('Y-m-d', $d2)); break; case 'month': list($y,$m) = split('-', date('Y-m', $d1)); $d1 = $d2 = mktime(0,0,0,$m+1,1,$y); return array(date('Y-m-01', $d1), date('Y-m-t', $d2)); break; case 'day': list($y,$m,$d) = split('-', $d1_real); $d1 = $d2 = date('Y-m-d',mktime(12,0,0,$m,$d+1,$y)); default: //nothing } return array($d1, $d2);