尝试使用laravel运行MongoDB 4.0时,出现以下错误
PHP致命错误:未捕获的MongoDB \ Driver \ Exception \ InvalidArgumentException: 无法解析MongoDB URI:“ mongodb://”。 URI中的无效主机字符串。在/var/www/html/valueableapp/valueable_rest_app/api_src/vendor/mongodb/mongodb/src/Client.php:87`
我使用命令mongo
运行mongo shell,它工作正常。
sudo service mongod status
以及它也显示运行状态。
即使有人,我也无法启动我的项目。这是我遇到的问题的完整堆栈跟踪
php artisan serve --port = 8080
Laravel开发服务器已启动:http://127.0.0.1:8080 [2019年5月22日星期三10:00:54] PHP致命错误:未捕获的MongoDB \ Driver \ Exception \ InvalidArgumentException:无法解析MongoDB URI:'mongodb://'。 URI中的无效主机字符串。在/var/www/html/valueable-app/valueable_rest_app/api_src/vendor/mongodb/mongodb/src/Client.php:87中 堆栈跟踪: #0 /var/www/html/valueable-app/valueable_rest_app/api_src/vendor/mongodb/mongodb/src/Client.php(87):MongoDB \ Driver \ Manager-> __construct('mongodb://',Array,数组) #1 /var/www/html/valueable-app/valueable_rest_app/api_src/vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/Connection.php(141):MongoDB \ Client-> __construct('mongodb://',阵列,阵列) #2 /var/www/html/valueable-app/valueable_rest_app/api_src/vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/Connection.php(41):Jenssegers \ Mongodb \ Connection-> createConnection('mongodb:// ',数组,数组) #3 /var/www/html/valueable-app/valueable_rest_app/api_src/vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/MongodbServiceProvider.php(30):Jenssegers \ Mongodb \ Connection-> __ construct(Array) #4 [内部功能]:Jenssegers \ Mongo,在第87行的/var/www/html/valueable-app/valueable_rest_app/api_src/vendor/mongodb/mongodb/src/Client.php中
Config / database.php
<?php
return [
'fetch' => PDO::FETCH_CLASS,
'default'=>'mongodb',
'connections' => array(
'mongodb' => array(
'driver' => 'mongodb',
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'database' => env('DB_DATABASE'),
'options' => [
'database' => env('DB_DATABASE')
]
),
),
'migrations' => 'migrations',
'redis' => [
'cluster' => false,
'default' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
];
.env
APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:q0DOPnhqUzhmMrqryyyN6SDOi6NHKh/BbmJGHw35e3E=
DB_CONNECTION=mongodb
DB_HOST=localhost
DB_PORT=27017
DB_DATABASE=abc
DB_USERNAME=
DB_PASSWORD=
CACHE_DRIVER=array
SESSION_DRIVER=file
QUEUE_DRIVER=sync
CRITERIA_MAX_SCORE=5
CRITERIA_MIN_SCORE=1
MAX_SCORE_APP=1000
先谢谢了。我正在这个网站上寻找解决方案
Laravel 5.2 Mongo MonogDB Failed to parse MongoDB URI,但这个问题没有答案。
答案 0 :(得分:1)
由于端口号错误,我出现了此错误。请先确认
答案 1 :(得分:0)
就我而言,我只是解决了这个问题,但是将文件名从import sys
T=int(sys.stdin.readline().strip())
def sol(x,y,record,d):
nx,ny=x,y
if d=="E":
ny = ny + 1
elif d=="W":
ny = ny - 1
elif d=="N":
nx = nx - 1
elif d=="S":
nx = nx + 1
else:
pass
if (nx,ny) in record:
return nx,ny,False
else:
record[(nx,ny)]=1
return nx,ny,True
for ind in range(T):
text=[int(x) for x in sys.stdin.readline().strip().split()]
record={}
N,R,C,SR,SC=text
ins=[ x for x in sys.stdin.readline().strip()]
nx,ny=SR-1,SC-1
flag=True
record[(nx,ny)]=1
for i in range(len(ins)):
d=ins[i]
nx, ny, flag = sol(nx, ny, record, d)
while flag is False:
nx, ny, flag = sol(nx, ny, record, d)
out = "Case #%d: %d %d\n" % (ind + 1, nx+1,ny+1)
print(out)
更改为.env
。
谢谢。