PHP7.2 裝mongodb 遇到的坑,完美解決!


公司要做QA安全測試,組長就丟了一個源碼包給我,什么資料都無。

系統是個Laravel框架,源碼都是從線上git下來。然后看了本地composer.json 沒有生成vendor

第一步安裝 composer.phar,讓它可以識別composer.json

下載地址:https://mirrors.aliyun.com/composer/composer.phar?spm=a2c6h.265751.1380423.3.29eb26212br7dB&file=composer.phar

下載后放到項目根目錄:

 

然后執行一下

php composer.phar

  

 

進行安裝

composer install

composer.json文件代碼如下:

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.2",
        "darkaonline/l5-swagger": "6.0.*",
        "fideloper/proxy": "^4.0",
        "fruitcake/laravel-cors": "^1.0",
        "gregwar/captcha": "^1.1",
        "guzzlehttp/guzzle": "^6.5",
        "johnlui/aliyun-oss": "^2.2",
        "laravel/framework": "^6.0",
        "laravel/tinker": "^1.0",
        "lcobucci/jwt": "^3.3",
        "maatwebsite/excel": "^3.1",
        "mongodb/mongodb": "^1.4.2",
        "phpoffice/phpspreadsheet": "^1.11",
        "predis/predis": "^1.1",
        "zgldh/qiniu-laravel-storage": "^0.10.3"
    },
    "require-dev": {
        "facade/ignition": "^1.4",
        "fzaninotto/faker": "^1.4",
        "mnabialek/laravel-sql-logger": "^2.2",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^3.0",
        "phpunit/phpunit": "^8.0",
        "rap2hpoutre/laravel-log-viewer": "^1.6"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "files": [
            "app/helpers.php"
        ],
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://mirrors.aliyun.com/composer/"
        }
    }
}

  

 

 

 其實能安裝成功完全要看這里了:PHP本地版本:PHP Version 7.2.13 Mongodb版本要選1.53,否則就等着被虐吧。

原文地址:https://www.cnblogs.com/chaihtml/p/11183348.html

1、

 打開phpinfo 查看 nts(非線程) 還是 ts (線程),操作位數;

 

下載對應的版本的php_mongodb.dll 文件

下載鏈接:https://pecl.php.net/package/mongodb/1.2.9/windows

 把文件解壓出來 php_mongodb.dll 文件復制到php安裝目錄下的 ext 目錄下(列子: phpStudy\php\php-7.1.13-nts\ext)

 打開php.ini 配置文件增加行 : extension=php_mongodb.dll

 php 7.2 適用網址 :https://windows.php.net/downloads/pecl/releases/mongodb/

 

 重啟,再打開phpinfo() 查看是否有mongodb擴展,出現下圖則安裝成功

只要Mongodb擴展能識別了,composer install 才能把 composer.json 里面的laravel依賴的 jenssegers/mongodb安裝好

 一般裝好后,會生成composer.lock,防止重復安裝,如果install composer不能運行,就要手動刪除這個composer.lock文件。

分享代碼只是為了讓大家少走彎路,所以我盡量寫詳細文檔。看過的覺得能解決問題的,也可以點贊推薦一下。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM