php now is ok.. but phps failed....
mycode: > <?php > $url = ' > http://localhost:8080/solr1/select/?q=2&version=2.2&rows=2&fl=Title&start=0&rows=10&indent=on&wt=phps > '; > $a = file_get_contents($url); > //eval('$solrResults = ' .$serializedSolrResults . ';'); > echo '<b>before unserialize....</b><br/>'; > var_dump($a); > echo '<Br/>'; > $a = unserialize($a); > echo '<b>after unserialize...</b><br/>'; > var_dump($a); > ?> > and result: > *before unserialize....* > string(434) > "a:2:{s:14:"responseHeader";a:3:{s:6:"status";i:0;s:5:"QTime";i:32;s:6:"params";a:7:{s:2:"fl";s:5:"Title";s:6:"indent";s:2:"on";s:5:"start";s:1:"0";s:1:"q";s:1:"2";s:2:"wt";s:4:"phps";s:4:"rows";a:2:{i:0;s:1:"2";i:1;s:2:"10";}s:7:"version";s:3:" > 2.2";}}s:8:"response";a:3:{s:8:"numFound";i:28;s:5:"start";i:0;s:4:"docs";a:2:{i:0;a:1:{s:5:"Title";d:诺基亚N-Gage基本数据;}i:1;a:1:{s:5:"Title";d:索尼爱立信P908基本数据;}}}}" > > *after unserialize...* > bool(false) > On Nov 7, 2007 9:30 PM, Dave Lewis <[EMAIL PROTECTED]> wrote: > > On Nov 7, 2007, at 2:04 AM, James liu wrote: > > > i just decrease answer information...and u will see my result(full, > > not > > part) > > > > *before unserialize....* > >> string(433) > >> "a:2:{s:14:"responseHeader";a:3:{s:6:"status";i:0;s:5:"QTime";i: > >> 0;s:6:"params";a:7:{s:2:"fl";s:5:"Title";s:6:"indent";s:2:"on";s: > >> 5:"start";s:1:"0";s:1:"q";s:1:"2";s:2:"wt";s:4:"phps";s:4:"rows";a: > >> 2:{i:0;s:1:"2";i:1;s:2:"10";}s:7:"version";s:3:" > >> 2.2";}}s:8:"response";a:3:{s:8:"numFound";i:28;s:5:"start";i:0;s: > >> 4:"docs";a:2:{i:0;a:1:{s:5:"Title";d:诺基亚N-Gage基本数据;}i:1;a:1: > >> {s:5:"Title";d:索尼爱立信P908基本数据;}}}}" > >> > >> *after unserialize...* > >> bool(false) > >> > > > > and i write serialize test code.. > > > > <?php > >> $ar = array ( > >> array('id' => 123, 'Title'=> "中文测试"), > >> array('id' => 123, 'Title'=> "中国上海"), > >> ); > >> > >> echo serialize($ar); > >> > >> ?> > >> > > > > > > and result is : > > > >> > >> a:2:{i:0;a:2:{s:2:"id";i:123;s:5:"Title";s:12:"中文测试";}i:1;a:2: > >> {s:2:"id";i:123;s:5:"Title";s:12:"中国上海";}} > >> > > > > > > > > *php* result is: > > > > string(369) "array( 'responseHeader'=>array( 'status'=>0, 'QTime'=>0, > > 'params'=>array( 'fl'=>'Title', 'indent'=>'on', 'start'=>'0', > > 'q'=>'2', > > 'wt'=>'php', 'rows'=>array('2', '10'), 'version'=>'2.2')), > > 'response'=>array('numFound'=>28,'start'=>0,'docs'=>array( array( > > 'Title'=>诺基亚N-Gage基本数据), array( 'Title'=>索尼爱立信P908基本数 > > 据)) ))" > > > > it is string, so i can't read it correctly by php. > > > > > > > This part (after string(369)) is exactly what it you should be seeing > if you use the php handler, and it's what you get after you > unserialize when using phps. > > You can access your search results as: > > $solrResults['response']['docs']; > > In your example above, that would be: > > array( array('Title'=>诺基亚N-Gage基本数据), array( 'Title'=>索尼爱立信 > P908基本数据)) > > When using the php handler, you must do something like this: > > eval('$solrResults = ' .$serializedSolrResults . ';'); > > Then, as above, you can access $solrResults['response']['docs']. > > To sum up, if you use phps, you must unserialize the results. If you > use php, you must eval the results (including some sugar to get a > variable set to that value). > > > dave > > > -- regards jl