này được stumping tôi ... Tôi đang sử dụng ví dụ chính xác từ:Hàm MongoDate toDateTime() không được xác định?
http://php.net/manual/en/mongodate.todatetime.php
nhưng tôi nhận được:
PHP Fatal error: Call to undefined method MongoDate::toDateTime()
<?php
$d = new MongoDate(strtotime("2014-11-18 11:01:25"));
var_dump($d);
var_dump($d->toDateTime());
?>
Kết quả chính xác tôi nhận được là:
object(MongoDate)#1 (2) {
["sec"]=>
int(1416330085)
["usec"]=>
int(0)
}
PHP Fatal error: Call to undefined method MongoDate::toDateTime() in /xxx/testmongodate.php on line 5
Phiên bản PHP:
$ php -v
PHP 5.5.9-1ubuntu4.9 (cli) (built: Apr 17 2015 11:44:57)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
PHP cấu hình:
$ php -i | grep mongo
/etc/php5/cli/conf.d/20-mongo.ini,
mongo
mongo.allow_empty_keys => 0 => 0
mongo.chunk_size => 262144 => 262144
mongo.cmd => $ => $
mongo.default_host => localhost => localhost
mongo.default_port => 27017 => 27017
mongo.is_master_interval => 15 => 15
mongo.long_as_object => 0 => 0
mongo.native_long => 0 => 0
mongo.ping_interval => 5 => 5
tôi đã được sử dụng thành công việc cài đặt này để chèn vào và đọc từ một cơ sở dữ liệu Mongo thực tế, nhưng bây giờ tôi đang cố gắng để làm việc với các đối tượng MongoDate khi chúng được đọc ra của mongo, cố gắng định dạng chúng để chèn vào cơ sở dữ liệu khác ... đó là lý do tại sao tôi đang tìm cách sử dụng phương pháp này ... nhưng nó dường như không được tìm thấy ... ??
$ uname -a
Linux server1 3.13.0-52-generiC#86-Ubuntu SMP Mon May 4 04:32:59 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Phiên bản PECL của bạn như thế nào? 'PECL mongo> = 1.6.0' – Scuzzy
không chính xác chắc chắn làm thế nào để kiểm tra, nhưng đã làm điều này: $ pecl phiên bản PEAR Phiên bản: 1.9.4 Phiên bản PHP: 5.5.9-1ubuntu4.9 Phiên bản Zend Engine: 2.5.0 Chạy trên: Linux server1 3.13.0-52-generiC# 86-Ubuntu SMP Thứ Hai 4 tháng 5 04:32:59 UTC 2015 x86_64 – Wes
'danh sách pecl' phải là lệnh liệt kê các gói đã cài đặt và các phiên bản của chúng. nếu nó trả về một phiên bản cũ hơn 1.6.0 thì giả định của tôi sẽ là gói được cài đặt đơn giản là thiếu chức năng đó. – Scuzzy