ビューを追加するためにcouchdbのPHPライブラリを使用しました。
public function addView() {
$design_doc = new stdClass();
$design_doc->_id = '_design/need';
$design_doc->language = 'javascript';
$design_doc->views = array( 'all' => array('map' => "function(doc) { if (doc.type == 'need') emit(doc.type, doc) }" ) );
$result = $this->client->storeDoc($design_doc);
return $result;
}
私のシェルでは、ドキュメントを表示して、作成されたことを確認しました。
curl -X GET mysite.com/bids/_design/need
{
"_id":"_design/need",
"_rev":"1-0ed4b41b839ade9ca36fb950cac1c39b",
"language":"javascript",
"views":
{
"all":
{
"map":"function(doc) { if (doc.type == 'need') emit(doc.type, doc) }"
}
}
}
次に、実際にビューを実行しようとすると、eaccesエラーがスローされます。
curl -X GET mysite.com/bids/_design/need/_view/all
{
"error":"error","reason":"eacces"
}
権限:インスタンスはrootとして実行されています。
ビュークエリを実行するために間違った構文を使用していますか?
PHPを介して渡された文字列のエンコードに問題がある可能性がありますか?