我有这个代码
$passengerId = new \MongoId(oPassenger->getId());
return $this->createQueryBuilder('Device')
->update()
->multiple(true)
->field('activated')->set(false)
->field('passenger')->unsetField()->equals($passengerId)
->field('_id')->notEqual($deviceId)
->getQuery()
->execute();
Run Code Online (Sandbox Code Playgroud)
它在我的开发服务器上运行良好,但在我的本地机器上崩溃。
pecl list在开发返回时运行
APC 3.1.13 beta
amqp 1.2.0 stable
intl 3.0.0 stable
mongo 1.3.7 stable
Run Code Online (Sandbox Code Playgroud)
和本地回报:
mongo 1.5.6 stable
xdebug 2.2.5 stable
Run Code Online (Sandbox Code Playgroud)
我机器上的崩溃消息是
"name":"MongoException","message":"Invalid object ID"},"code":500}
Run Code Online (Sandbox Code Playgroud)
我试过降级 mongo 的本地版本,但我无法用 pecl 糟糕的文档来解决这个问题。例如我试过这个:
sudo pecl upgrade -f -c channel://pecl.php.net/mongo-1.3.7
Run Code Online (Sandbox Code Playgroud)
但我一直在获取channel does not exist我所有的频道排列。
也在mongod --version本地运行返回db 版本 v2.6.0,在 dev 上返回db 版本 v2.4.3
想法?
这是很容易让我连接到我的远程MySQL服务器上使用AWS sequelpro,但是我用的MongoDB做同样的事情挣扎。
我尝试通过命令行设置 ssh 隧道,如下所示:
ssh -fN -l root -i path/to/id_rsa -L 9999:host.com:27017 host.com
Run Code Online (Sandbox Code Playgroud)
我也试过用 ip 地址替换主机
这个想法是将端口 9999 上的所有 mongodb 连接转发到主机上端口 27101 上的连接。但是当我运行命令时:
mongo --host localhost --port 9999
Run Code Online (Sandbox Code Playgroud)
连接失败,我得到了这个:
MongoDB shell version: 2.6.0
connecting to: localhost:9999/test
channel 2: open failed: connect failed: Connection timed out
channel 3: open failed: connect failed: Connection timed out
2014-05-22T14:42:01.372+0300 DBClientCursor::init call() failed
2014-05-22T14:42:01.374+0300 Error: DBClientBase::findN: transport error: localhost:9999 ns: admin.$cmd query: { whatsmyuri: 1 } at src/mongo/shell/mongo.js:148
exception: connect failed …Run Code Online (Sandbox Code Playgroud) 我有一个通过 laravel artisan服务器运行的 laravel 应用程序:
php artisan serve
Run Code Online (Sandbox Code Playgroud)
如果我继续使用它,它就可以正常工作localhost:8000。此外,我在 IIS 服务器中添加了一个入站规则,如下所示:
控制面板 -> 管理工具 -> 具有高级安全性、入站规则的 Windows 防火墙。制定新规则“允许端口、TCP、8000、所有配置文件
但是由于某种原因,我仍然无法从 WWW 访问该网站(我对 webrick 服务器(在同一台机器上)执行了完全相同的步骤,并且一切正常)..有什么想法吗?
我试图将在 rubymine 上进行 AWS 调试的任务分解成更小的块。我想连接到在 AWS 上运行的 mysql 服务器。所以我做了以下事情:
第一:建立一个 ssh 隧道,将所有本地主机请求转发到 3307 端口到 AWS 上的 3306 端口:
ssh -l ubuntu -i 'path/to/private/key/privateKey.cer' -L 3307:aws.port:3306 aws.port -N -v -v
Run Code Online (Sandbox Code Playgroud)
第二:在端口 3307 上连接到 mysql
mysql -h 127.0.0.1 -P 3307 -u root -p
Run Code Online (Sandbox Code Playgroud)
问题: 它在我的主机上失败并出现以下错误:
ERROR 1130 (HY000): Host '178.135.138.61' is not allowed to connect to this MySQL server
Run Code Online (Sandbox Code Playgroud)
AWS 上的日志输出如下:
debug1: Connection to port 3307 forwarding to 54.193.1.19 port 3306 requested.
debug2: fd 7 setting TCP_NODELAY
debug1: …Run Code Online (Sandbox Code Playgroud)