【问题标题】:Install mongodb php driver on mediatemple dv 4.0在 mediatemple dv 4.0 上安装 mongodb php 驱动程序
【发布时间】:2011-07-02 04:03:25
【问题描述】:

按照官方说明http://www.mongodb.org/display/DOCS/Quickstart+Unix 和这篇帖子http://blog.phy5ics.com/2010/03/27/installing-mongodb-on-mediatemple-dv/ 我刚刚设法在MediaTemples DV 4.0 服务器上安装了mongodb(我认为)。

但是我在安装 PHP 驱动程序时遇到问题 http://www.mongodb.org/display/DOCS/PHP+Language+Center

在 SSH 中我得到这个:

[root@xxx]# cd /var/tmp
[root@xxx]# pecl install mongo
正在下载 mongo-1.1.4.tgz ...
开始下载 mongo-1.1.4.tgz (68,924 bytes)
..................完成:68,924 字节
18 个源文件,正在构建
运行:phpize
配置:
PHP API 版本:20090626
Zend 模块 API 编号:20090626
Zend 扩展 API 编号:220090626
/usr/bin/phpize: /var/tmp/mongo/build/shtool: /bin/sh: 错误解释器:权限被拒绝
找不到自动配置。请检查您的 autoconf 安装和 $PHP_AUTOCONF 环境变量。然后,重新运行此脚本。

错误:`phpize' 失败

我以 root 用户身份登录 - 我不明白为什么会失败以及安装 PHP 驱动程序需要采取哪些步骤?

谢谢

【问题讨论】:

    标签: mongodb mediatemple nosql


    【解决方案1】:

    在服务器的命令行上运行以下命令:

    $ mkdir /root/tmp
    $ mount --bind /root/tmp /tmp
    $ umount /tmp; umount /var/tmp
    $ pecl install mongo
    

    一些事情:

    • /root/tmp 只是一个任意临时目录。只要存在,你就可以使用任何你想要的东西。
    • 一些说明说使用--host 而不是--bind。在 RHEL/CentOS 上,mount 表示 --host 是一个无法识别的选项。
    • 如果您在虚拟机上,您可能必须在每次重新启动虚拟机/容器时都执行此操作。

    对于 Media Temple 客户,我可以确认这适用于装有 CentOS 5 和 6 的 (dv) 和 (ve) 服务器。

    【讨论】:

    • 这帮了很多忙,但是我在运行安装后没有卸载并重新安装回原始设置,暂时破坏了我的服务器。我只需要: umount /tmpz; mount --bind /root/tmp /tmp;运行mongo安装后
    • 除非您之后删除了/root/tmpz 文件夹,否则您不需要重新挂载/tmp。不过,我很高兴你明白了!
    【解决方案2】:

    来自媒体神殿支持:需要创建一个临时目录(/root/tmpz):

    $ mkdir /root/tmpz
    $ mount --host /root/tmpz /tmp
    $卸载/tmp;卸载 /var/tmp
    $ pecl 安装 mongo

    构建完成。
    不要忘记运行“make test”。

    运行:安装 INSTALL_ROOT="/var/tmp/pear-build-root/install-mongo-1.1.4" 安装
    安装共享扩展:/var/tmp/pear-build-root/install-mongo-1.1.4/usr/lib64/php /modules/
    运行:找到“/var/tmp/pear-build-root/install-mongo-1.1.4”| xargs ls -dils 69094140 4 drwxr-xr-x 3 root root 4096 Feb 22 13:40 /var/tmp/pear-build-root/install-mongo-1.1.4
    69275176 4 drwxr-xr-x 3 root root 4096 Feb 22 13:40 /var/tmp/pear-build-root/install-mongo-1.1.4/usr
    69275177 4 drwxr-xr-x 3 root root 4096 Feb 22 13:40 /var/tmp/pear-build-root/install-mongo-1.1.4/usr/lib64
    69290445 4 drwxr-xr-x 3 root root 4096 Feb 22 13:40 /var/tmp/pear-build-root/install-mongo-1.1.4/usr/lib64/php
    69290447 4 drwxr-xr-x 2 root root 4096 Feb 22 13:40 /var/tmp/pear-build-root/install-mongo-1.1.4/usr/lib64/php/modules
    69290448 676 -rwxr-xr-x 1 root root 684126 Feb 22 13:40 /var/tmp/pear-build-root/install-mongo-1.1.4/usr/lib64/php/modules/mongo.so

    构建过程成功完成
    安装 '/usr/lib64/php/modules/mongo.so'
    安装好:channel://pecl.php.net/mongo-1.1.4
    配置选项“php_ini”未设置为 php.ini 位置
    您应该将“extension=mongo.so”添加到 php.ini

    【讨论】:

      【解决方案3】:

      您是否安装了php-devphpize 基本上是在“编译”MongoDB 驱动程序,但除非您安装了 -dev,否则这可能不起作用。

      【讨论】:

        猜你喜欢
        • 2012-01-26
        • 1970-01-01
        • 2014-10-24
        • 2015-02-22
        • 1970-01-01
        • 2012-12-04
        • 2018-09-28
        • 1970-01-01
        • 2012-12-28
        相关资源
        最近更新 更多