无法连接到:localhost:27017:使用 AMPPS 拒绝连接到 MongoDB 数据库
Failed to connect to: localhost:27017: Connection refused to MongoDB database using AMPPS
我正在为我的本地服务器使用 ubuntu 14.04 和 AMPPS,我已经设法启用 mongoDB 扩展并且我已经在 rockmongo 中创建了数据库和集合,并且即使使用 mongo.
终端
但是当我尝试在我的代码中使用 mongodb 时,我收到以下错误消息:
( ! ) Fatal error: Uncaught exception 'MongoConnectionException' with message 'Failed to connect to: localhost:27017: Connection refused' in /usr/local/ampps/www/TMongo.php on line 3
( ! ) MongoConnectionException: Failed to connect to: localhost:27017: Connection refused in /usr/local/ampps/www/TMongo.php on line 3
这是我试图测试的代码的和平 mongodb :
<?php
// connect to mongodb
$m = new MongoClient();
echo "Connection to database successfully";
// select a database
$db = $m->laravel;
echo "Database mydb selected";
$collection = $db->laravel;
echo "Collection selected succsessfully";
$cursor = $collection->find();
// iterate cursor to display title of documents
foreach ($cursor as $document) {
echo $document["title"] . "\n";
}
?>
我已经搜索并尝试了一些方法来终止所有 mongodb 进程并重新启动它......但是 none 对我有用。
当我 运行 : ps -eF | grep 'mongo\|PID'
我得到:
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 3516 3331 0 223796 118188 3 12:42 pts/22 00:00:01 /usr/local/ampps/mongodb/bin/mongod --journal --pidfilepath=/usr/local/ampps/mongodb/data/pid --config=/usr/local/ampps/mongodb/mongo.conf
server 7091 25150 0 2939 2280 2 12:47 pts/26 00:00:00 grep --color=auto mongo\|PID
当我 运行: sudo killall -15 mongod
我再次 运行 上面的命令时,我得到:
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
server 8299 25150 0 2939 2268 3 12:49 pts/26 00:00:00 grep --color=auto mongo\|PID
当我 运行 在我的 mongodb 服务关闭时执行此命令时:sudo netstat -tlnp | grep 27017
我什么也没得到,但是当我启动 mongodb 服务并再次使用 运行 netstat 命令时,我得到:
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 9956/mongod
mongodb.conf :
#Turn on simple rest api
rest=true
journal=true
#Storage Engine Set to mmapv1
storageEngine=mmapv1
#Directory for Data Files
dbpath={$path}/mongodb/data/db
#log file to send write to instead of stdout - has to be a file, not directory
logpath={$path}/mongodb/logs/mongo.log
#Append to logpath instead of over-writing
logappend=true
#Specify port number
#port=27017
#Full path to pidfile (if not set, no pidfile is created)
pidfilepath={$path}/mongodb/data/pid
#Each database will be stored in a separate directory
directoryperdb=true
#Run "{$path}/mongodb/bin/mongod.exe" --help in command prompt for more help.
仅供参考:我已经在 linux 的默认路径中安装了 ampps:/usr/local/ampps/
我在本地服务器上使用 ubuntu 14.04 和 AMPPS 3.6。
我该如何解决这个问题,有什么建议吗?
更新
我已将此参数添加到 mongodb.conf 文件并重新启动 mongodb
bind_ip = 127.0.0.1
然后我运行这个:sudo netstat -tlnp | grep 27017
似乎 mongodb 正在侦听 127.0.0.1:27017
,当我尝试使用 mongo 从命令行连接到它时,它有效,但在 php 页 I仍然有同样的问题。
有什么建议吗?
在 ampps 3.6 中,他们将 mongodb.so 添加到 php 扩展列表中。
如果您启用 mongo 和 mongodb 扩展,您将连接到 mongodb.
我正在为我的本地服务器使用 ubuntu 14.04 和 AMPPS,我已经设法启用 mongoDB 扩展并且我已经在 rockmongo 中创建了数据库和集合,并且即使使用 mongo.
终端但是当我尝试在我的代码中使用 mongodb 时,我收到以下错误消息:
( ! ) Fatal error: Uncaught exception 'MongoConnectionException' with message 'Failed to connect to: localhost:27017: Connection refused' in /usr/local/ampps/www/TMongo.php on line 3
( ! ) MongoConnectionException: Failed to connect to: localhost:27017: Connection refused in /usr/local/ampps/www/TMongo.php on line 3
这是我试图测试的代码的和平 mongodb :
<?php
// connect to mongodb
$m = new MongoClient();
echo "Connection to database successfully";
// select a database
$db = $m->laravel;
echo "Database mydb selected";
$collection = $db->laravel;
echo "Collection selected succsessfully";
$cursor = $collection->find();
// iterate cursor to display title of documents
foreach ($cursor as $document) {
echo $document["title"] . "\n";
}
?>
我已经搜索并尝试了一些方法来终止所有 mongodb 进程并重新启动它......但是 none 对我有用。
当我 运行 : ps -eF | grep 'mongo\|PID'
我得到:
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 3516 3331 0 223796 118188 3 12:42 pts/22 00:00:01 /usr/local/ampps/mongodb/bin/mongod --journal --pidfilepath=/usr/local/ampps/mongodb/data/pid --config=/usr/local/ampps/mongodb/mongo.conf
server 7091 25150 0 2939 2280 2 12:47 pts/26 00:00:00 grep --color=auto mongo\|PID
当我 运行: sudo killall -15 mongod
我再次 运行 上面的命令时,我得到:
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
server 8299 25150 0 2939 2268 3 12:49 pts/26 00:00:00 grep --color=auto mongo\|PID
当我 运行 在我的 mongodb 服务关闭时执行此命令时:sudo netstat -tlnp | grep 27017
我什么也没得到,但是当我启动 mongodb 服务并再次使用 运行 netstat 命令时,我得到:
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 9956/mongod
mongodb.conf :
#Turn on simple rest api
rest=true
journal=true
#Storage Engine Set to mmapv1
storageEngine=mmapv1
#Directory for Data Files
dbpath={$path}/mongodb/data/db
#log file to send write to instead of stdout - has to be a file, not directory
logpath={$path}/mongodb/logs/mongo.log
#Append to logpath instead of over-writing
logappend=true
#Specify port number
#port=27017
#Full path to pidfile (if not set, no pidfile is created)
pidfilepath={$path}/mongodb/data/pid
#Each database will be stored in a separate directory
directoryperdb=true
#Run "{$path}/mongodb/bin/mongod.exe" --help in command prompt for more help.
仅供参考:我已经在 linux 的默认路径中安装了 ampps:/usr/local/ampps/
我在本地服务器上使用 ubuntu 14.04 和 AMPPS 3.6。 我该如何解决这个问题,有什么建议吗?
更新 我已将此参数添加到 mongodb.conf 文件并重新启动 mongodb
bind_ip = 127.0.0.1
然后我运行这个:sudo netstat -tlnp | grep 27017
似乎 mongodb 正在侦听 127.0.0.1:27017
,当我尝试使用 mongo 从命令行连接到它时,它有效,但在 php 页 I仍然有同样的问题。
有什么建议吗?
在 ampps 3.6 中,他们将 mongodb.so 添加到 php 扩展列表中。 如果您启用 mongo 和 mongodb 扩展,您将连接到 mongodb.