0

残念ながら、Class 'MongoPool' not foundエラーを修正できません。構成のすべてを再確認したところ、すべてが正常に見えました:(これにはすでに4時間費やしました:(

私は使用しています:

  • Ubuntu 12.04
  • nginx 1.1.19
  • nginx への php-fpm 拡張としての php 5.3.10-1ubuntu3.4
  • mongodb ドライバー 1.3.0RC1-dev

構成情報:

phpフォルダのmongo.iniはこれ

extension=mongo.so
mongo.native_long = true
mongo.utf8 = 1

/etc/php5/fpm/pool.d/www.conf もかなり短いです

[www]

user = www-data
group = www-data
listen = /var/run/php-fpm.sock
pm = dynamic
pm.max_children = 10
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
access.log = /var/www/log/$pool.access.log
;chroot = /var/www/
chdir = /

私の設定を見て、私を助けてくれませんか?

テストページはこちら

<?php
MongoPool::setSize(2);
?>

nginxサーバーの設定は

server {
    root /usr/share/nginx/www;
    index index.php index.html index.htm;

    server_name localhost 192.168.1.149;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        deny all;
    }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

nginx からのログ スニペット

2012/10/21 06:35:48 [error] 21418#0: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'MongoPool' not found in /usr/share/nginx/www/test2.php on line 2
PHP message: PHP Stack trace:
PHP message: PHP   1. {main}() /usr/share/nginx/www/test2.php:0" while reading response header from upstream, client: 192.168.1.2, server: localhost, request: "GET /test2.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "192.168.1.149"
4

1 に答える 1

1

上記のユーザーeicto が示唆したように、MongoDb Driver for PHP の作成者は、約 2 か月前にこのクラスをトランク バージョンのドライバーから削除しました (このコミットを参照)。

下位互換性のために MongoPool と他のいくつかのメソッドを追加しますが、これらは何もせず、E_DEPRECATED 警告を発行するだけです。

開発版を使用する場合は注意してください。

于 2012-10-22T00:49:07.497 に答える