我使用iron.io及其工作任務進行後臺進程。 我的代碼是相當簡單的,就像:如何在Iron Worker任務中使用PHP的MongoDB驅動程序?
<?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/
我錯過了什麼嗎?如何在Iron worker中使用PHP中的MongoDB驅動程序?
具有相同的問題 - 即使添加文檔中指定的require_once(mongo)「'''。 –
我已經通過編寫我們自己的用PHP激活MongoDB的Docker鏡像解決了這個問題。 –