我正在将 Iron.io 及其工作任务用于后台进程。我的代码相当简单,就像:
<?php
require 'vendor/autoload.php';
$uri = "my_connection_string";
$client = new MongoClient($uri);
:
:
composer.json 就像:
{
"require": {
"iron-io/iron_worker": "2.0.4",
"wp-cli/php-cli-tools": "~0.10.3"
}
}
然后我首先安装所有依赖项,
docker run --rm -it -v "$PWD":/worker -w /worker iron/php:dev composer install
压缩我的代码,
zip -r worker.zip .
上传,
iron --env dev worker upload --name task-name -zip ./worker.zip iron/php:dev php ./worker.php
然后这个错误输出。
PHP Fatal error: Class 'MongoClient' not found in /mnt/task/worker.php on line xxx
我也试过了MongoDB\Driver\Manager
,MongoDB\Driver\Client
出现同样的错误。当我尝试运行时php -m
,它显示:
[PHP Modules]
Core
curl
date
ereg
fileinfo
filter
hash
json
libxml
mbstring
mysqlnd
pcre
readline
Reflection
session
SimpleXML
SPL
standard
tokenizer
xmlwriter
[Zend Modules]
看起来甚至没有安装 MongoDB 扩展,而他们说它已安装。 http://dev.iron.io/worker/languages/php/
我错过了什么吗?如何在 PHP 中将 MongoDB 驱动程序与 Iron Worker 一起使用?