簡體   English   中英

PHP 啟動:無法加載動態庫 'php_mongodb.dll'

[英]PHP Startup: Unable to load dynamic library 'php_mongodb.dll'

我正在嘗試按照本教程讓 Laravel MongoDB 在我的本地機器(Windows 10 home,x64)上工作

  1. 我已在D:\xampp上成功安裝 XAMPP 7.3.11 並測試可以訪問服務器(在瀏覽器上輸入localhost:80
  2. I proceeded on extracting php_mongodb.dll I got from pecl (mongodb 1.6.0 for Windows, 7.3 Non Thread Safe, x64 ) on D:\xampp\php\ext and add the line extension=php_mongodb.dll on the file D:\xampp\php\php.ini

  3. 選擇“你想使用的命令行 PHP”到D:\xampp\php\php.exe后,安裝程序給出了以下 output:

    您指定的 PHP exe 文件未正確運行:D:\xampp\php\php.exe

    命令行 PHP 使用的 php.ini 是:D:\xampp\php\php.ini

    php.ini 中的設置可能會導致問題:“extension_dir”值不正確或 dll 不存在。

    Program Output: PHP Warning: PHP Startup: Unable to load dynamic library 'php_mongodb.dll' (tried: D:\xampp\php\ext\php_mongodb.dll (The specified module could not be found.), D:\xampp\ php\ext\php_php_mongodb.dll.dll(找不到指定的模塊。))在Unknown on line 0

注釋掉行extension=php_mongodb.dll將執行D:\xampp\php\php.exe而沒有任何警告。 但是我需要php_mongodb.dll在作曲家安裝期間注意 php_mongodb.dll,對吧?

那么如何解決這個問題呢? 該文件肯定存在於文件夾中,並且已提供對php.ini的所需修改。 我已經環顧四周,有些人提到extension_dir中的路徑必須寫成完整路徑。 但我已經檢查過我的php.ini上的行是extension_dir="D:\xampp\php\ext"

問題已解決。

原因:我使用的是非線程安全的php_mongodb.dll ,而由 XAMPP 安裝的 PHP 是線程安全的。

php_mongodb.dll替換為線程安全版本后,沒有錯誤,我可以成功完成 composer 安裝。

有很多解決方案可以解決此錯誤:

1)請將extension=php_mongodb.dll更改為extension=php_mongo.dll

2)如果仍然產生錯誤,其他解決方案是下載正確的Dll文件。 這背后的原因是我們使用支持 64 位的 DLL 文件 64 位系統。 但是 wamp/xampp 架構可能是 32 位的。 我們需要使用基於 wamp/xampp 架構而不是 windows 架構。 因此,嘗試找到與 wamp/xampp 架構相關的 DLL 文件版本。

請嘗試使用這兩種解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM