Class 'MongoId' not found in Laradock application

Using Laradock (basically a set og Docker images for Laravel development), I keep getting Class 'MongoId' not found FatalThrowableError errors when calling new \MongoId( $id ) in PHP.

This post Class 'MongoId' not found (Zend Framework with MongoDB Doctrine) suggests that the reason for given error is that the PHP Mongo extension isn’t enabled.

  • How to define a variable in a Dockerfile?
  • How can I make `avahi` work outside when `netatalk` running inside docker on `ubuntu`?
  • Gearmand Does Not Start - Socket Address Family Not Supported
  • Docker-compose corrupted directory when shared a multiple file/directory in the same mounting point
  • Django migrations with Docker on AWS Elastic Beanstalk
  • Docker daemon “unknown: Authentication is required” message
  • However, if I look at the phpinfo() output, I can see mongodb section. Doesn’t that mean it’s enabled?

    What else could possibly cause this error?

  • Docker splunk logging driver - handshake failure
  • How to prevent nodes from restarting in a Kubernetes Deployment
  • docker restart policy doesn't work?
  • Consul running on Docker HTTP health check returns “connection reset by peer”
  • Docker capture packets
  • Cloud SDK command gsutil config -a
  • One Solution collect form web for “Class 'MongoId' not found in Laradock application”

    I assume that you are using php 7 version.

    In php 7 version a new MongoDB extension is used.

    So instead of legacy MongoId you should use MongoDB\BSON\ObjectID

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.