我收到了以下错误消息:
不推荐使用:不推荐使用函数Mongo :: setSlaveOkay()
在PHP manual中,它说:
MongoCollection :: setSlaveOkay
(PECL mongo> = 1.1.0)
MongoCollection :: setSlaveOkay - 为此改变slaveOkay设置 集合
我无法找到任何有关它被弃用的内容。
我的PHP版本是5.3.10,MongoDB版本是1.3.5。
答案 0 :(得分:3)
正如其他答案所述,状态setSlaveOkay
已被弃用,支持完全阅读首选项(http://derickrethans.nl/readpreferences.html)。这是在引入MongoClient
类时所做的更改(http://derickrethans.nl/mongoclient.html)。
如果您查看PHP手册页(http://www.php.net/manual/en/mongocollection.setslaveokay.php)的底部,您会看到一个更改日志部分,其中提到:
使用时发出E_DEPRECATED。
下面的“另请参阅”部分提供了取代它的内容的链接,阅读首选项。
作为备用Hannes(https://groups.google.com/forum/?fromgroups=#!topic/mongodb-user/CAWuND9niLo),其中一位维护者提到:
我们希望为即将发布的1.3.0版本(预定“很快”)中的首选方式做好准备。
所以是的,从现在开始你应该使用阅读偏好。
答案 1 :(得分:2)
'slaveOk'已被更可配置的ReadPreferences功能所取代。
以下是PHP ReadReferences的介绍:
MongoDB 2.2和1.3.0版本的驱动程序添加了对read的支持 首选项,允许控制查询的定向方式 副本集环境中的mongod实例。阅读偏好可能是 在每个连接,每个数据库或每个集合上指定 基础。在更高级别定义的首选项将继承 默认(例如,MongoCollection将继承定义的读取权限 相应的MongoDB实例)。
使用模式和标记的组合指定读取首选项 集。模式确定mongod实例的优先级,同时 标记集指定符合条件的mongod实例的条件。
http://php.net/manual/en/mongo.readpreferences.php
HTH - Rob
答案 2 :(得分:0)
此功能的PHP更新日志
1.2.11使用时发出E_DEPRECATED。
因此不推荐使用pecl mongo驱动程序。