2019年12月18日 星期三

MongoDB 異常排除


Linux安裝好MongoDB本機執行(mongo)都OK,IPv6也有關閉,但用PHP去連都回:
No suitable servers found (`serverSelectionTryOnce` set): [connection refused calling ismaster on '127.0.0.1:27017']
試了google到的N種方法都不行,一度放棄,隔了二個月有新案子剛好再挖出來試,也是很挫折地摸了三天,最後看到 Selinux安全性  httpd_can_network_connect 要打開,姑且一試,BINGO !!

PHP code 如下:

    $client = new MongoDB\Client ( "mongodb://127.0.0.1:27017" );
    $collection = $client->mydb->test;

    $result = $collection->find ( [ ] );

檢查目前的設定:
# getsebool -a | grep httpd_can_network_connect
httpd_can_network_connect --> off

設定成on:
# setsebool -P httpd_can_network_connect 1
再次檢查:
# getsebool -a | grep httpd_can_network_connect
httpd_can_network_connect --> on