小编abb*_*ood的帖子

如何安装旧版本的 pecl 包

我有这个代码

    $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

想法?

php mac-osx pecl pear mongodb

44
推荐指数
1
解决办法
5万
查看次数

如何通过ssh隧道连接到mongodb服务器

这是很容易让我连接到我的远程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)

ssh database ssh-tunnel ssh-keys mongodb

21
推荐指数
1
解决办法
11万
查看次数

为什么不能从 IIS 上的 WWW 访问 laravel 的 php artisan 服务服务器

我有一个通过 laravel artisan服务器运行的 laravel 应用程序:

 php artisan serve
Run Code Online (Sandbox Code Playgroud)

如果我继续使用它,它就可以正常工作localhost:8000。此外,我在 IIS 服务器中添加了一个入站规则,如下所示:

控制面板 -> 管理工具 -> 具有高级安全性、入站规则的 Windows 防火墙。制定新规则“允许端口、TCP、8000、所有配置文件

但是由于某种原因,我仍然无法从 WWW 访问该网站(我对 webrick 服务器(在同一台机器上)执行了完全相同的步骤,并且一切正常)..有什么想法吗?

php http httpd windows-server-2008-r2 apache-2.2

14
推荐指数
1
解决办法
4万
查看次数

无法通过 ssh 隧道连接到 AWS 上的 mysql

我试图将在 ruby​​mine 上进行 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)

mysql ssh ssh-tunnel amazon-web-services

3
推荐指数
1
解决办法
2259
查看次数