Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDb php扩展未加载_Php_Mongodb_Xampp - Fatal编程技术网

MongoDb php扩展未加载

MongoDb php扩展未加载,php,mongodb,xampp,Php,Mongodb,Xampp,我正在尝试在Windows7 64位PC上加载MongoDb扩展以支持php,该PC使用Apache2.0和PHP5.3.5运行XAMPP,编译器版本为VC6。我从一开始就尝试了,并且也尝试了。MongoDb本身运行良好,shell命令似乎可以正常工作 目前我有: 在我的php.ini文件中添加了extension=php\u mongo.dll 将VC6版本的php_mongo.dll(根据以下php文档的建议)放在php/ext文件夹中 重新启动我的Apache服务器 我还尝试了php\u

我正在尝试在Windows7 64位PC上加载MongoDb扩展以支持php,该PC使用Apache2.0和PHP5.3.5运行XAMPP,编译器版本为VC6。我从一开始就尝试了,并且也尝试了。MongoDb本身运行良好,shell命令似乎可以正常工作

目前我有:

  • 在我的
    php.ini
    文件中添加了
    extension=php\u mongo.dll
  • 将VC6版本的
    php_mongo.dll
    (根据以下php文档的建议)放在php/ext文件夹中
  • 重新启动我的Apache服务器
  • 我还尝试了
    php\u mongo.dll
    文件表单,但它们似乎也不起作用

    重新启动Apache时,我没有收到任何错误,但在MongoDb上的
    phpinfo()
    中找不到任何内容,并且Mongo类也无法识别


    有什么想法可能是错误的吗?如果您需要更多信息,请告诉我。

    问题可能是扩展版本不正确。尝试从此处下载的不同版本:

    问题可能是扩展版本不正确。尝试从这里下载的不同版本:

    使用而不是XAMPP它预装了
    php\u mongo.dll
    驱动程序,无需配置
    php.ini
    文件

    没有为PHP7发布官方MongoDB驱动程序。因此,最好下载Bitnami Wamp Stack提供的推荐PHP版本5.5.30(当前版本)。

    使用预先加载的
    PHP_mongo.dll
    驱动程序,而无需配置
    PHP.ini
    文件,而不是XAMPP


    没有为PHP7发布官方MongoDB驱动程序。因此,最好下载Bitnami Wamp Stack提供的推荐PHP版本5.5.30(当前版本)。

    可能有两个原因:

    第一个是@Sadd建议的。您的mongodb扩展应该在您完成之后加载,所以很可能是您在错误的文件中启用了扩展。是的,有两个类似的文件(在windows计算机上命名为
    php.ini development
    php.ini production
    ),因此请确保在
    php.ini
    文件中启用它,并运行以下加载的代码
    echo扩展(“mongodb”)?“已加载”:“未加载\n”并且您应该在屏幕上看到加载的


    如果您仍然看不到它,那么您可以做的第二件事是检查版本是否正确。您可以检查php版本的
    phpinfo()
    ,然后将正确版本的dll文件放在ext文件夹中。在这种情况下,您可以检查您的php是ts还是nts,第二个是您的php是x64还是x86。我希望您能很好地进行其中一项或两项更改。

    可能有两个原因:

    第一个是@Sadd建议的。您的mongodb扩展应该在您完成之后加载,所以很可能是您在错误的文件中启用了扩展。是的,有两个类似的文件(在windows计算机上命名为
    php.ini development
    php.ini production
    ),因此请确保在
    php.ini
    文件中启用它,并运行以下加载的代码
    echo扩展(“mongodb”)?“已加载”:“未加载\n”并且您应该在屏幕上看到加载的


    如果您仍然看不到它,那么您可以做的第二件事是检查版本是否正确。您可以检查php版本的
    phpinfo()
    ,然后将正确版本的dll文件放在ext文件夹中。在这种情况下,您可以检查您的php是ts还是nts,第二个是您的php是x64还是x86。我希望您能很好地跟踪其中一个或两个更改。

    这让我发疯,直到我仔细查看我的PHP版本:

    $ php -v
    PHP 7.4.1 (cli) (built: Dec 17 2019 19:23:59) ( NTS Visual C++ 2017 x64 )
    

    注意,它说的是PHP7.4.1NTSx64?这意味着当我从PECL下载时,我需要版本7.4非线程安全(NTS)x64,否则它将无法正常运行。

    这让我发疯,直到我仔细查看我的PHP版本:

    $ php -v
    PHP 7.4.1 (cli) (built: Dec 17 2019 19:23:59) ( NTS Visual C++ 2017 x64 )
    

    注意,它说的是PHP7.4.1NTSx64?这意味着,当我从PECL下载时,我需要版本7.4非线程安全(NTS)x64,否则它将无法正常运行。

    能否告诉我们php在phpinfo()输出中注册了什么扩展文件夹?扩展文件夹是C:\xampp\php\extini您修改了哪个文件?phpinfo()告诉您它正在使用哪个INI文件?当PHP无法加载您在使用过的PHP.ini文件中指定的扩展名时,它将发出错误消息,因此您要么正在抑制这些错误,要么正在修改错误的PHP.ini。我发现我在错误的ini文件中启用了扩展名,检查正在使用哪个php.ini文件的phpinfo。您能告诉我们php在phpinfo()输出中注册了哪个扩展文件夹吗?扩展文件夹是C:\xampp\php\extini文件,您修改了哪个文件?phpinfo()告诉您它正在使用哪个INI文件?当PHP无法加载您在使用过的PHP.ini文件中指定的扩展名时,它将发出错误消息,因此您要么正在抑制这些错误,要么正在修改错误的PHP.ini。我发现我在错误的ini文件中启用了扩展名,请检查正在使用PHP.ini文件的phpinfo。