使用 composer 安装 MixPHP 遇到提示 PHP 缺少扩展 很诡异 - V2EX
q569321245
V2EX    PHP

使用 composer 安装 MixPHP 遇到提示 PHP 缺少扩展 很诡异

  •  
  •   q569321245 Nov 1, 2019 6481 views
    This topic created in 2385 days ago, the information mentioned may be changed or developed.
    Do not run Composer as root/super user! See https://getcomposer.org/root for details Installing mix/mix (v2.0.7) - Installing mix/mix (v2.0.7): Loading from cache Created project in /home/wwwroot/mix Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - The requested PHP extension ext-redis * is missing from your system. Install or enable PHP's redis extension. Problem 2 - The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension. 
    但是我本地输出 phpinfo() 跟 执行 php -m 都有这两个扩展 我也本地测试 redis $redis = new Redis() or die("Cannot load Redis module."); $redis->connect('localhost',6379); $auth = $redis->auth('redis');//redis 改为你的 redis 密码 $redis->set('name', '111'); echo $redis->get('name'); 结果是输出 111 
    求各位大佬支个招 
    12 replies    2019-11-02 09:40:48 +08:00
    2kCS5c0b0ITXE5k2
        1
    2kCS5c0b0ITXE5k2  
       Nov 1, 2019 via iPhone
    确认下 composer 用的 PHP 和你测试的是否一样
    q569321245
        2
    q569321245  
    OP
       Nov 1, 2019
    @emeab composer 使用的是“环境变量”里面的 php php -v 跟我 phpinfo 输出出来的 php 是一个版本的
    haiyang416
        3
    haiyang416  
       Nov 1, 2019
    php composer.phar install 试试,仔细检查下 composer 运行的到底是那个 php,加载的是哪个 php.ini 。
    q569321245
        4
    q569321245  
    OP
       Nov 1, 2019
    @haiyang416 执行 php composer.phar install 报错 Could not open input file: composer.phar
    问下怎么检查 composer 运行的到底是那个 php,加载的是哪个 php.ini 步骤要怎么去实现
    U7Q5tLAex2FI0o0g
        5
    U7Q5tLAex2FI0o0g  
       Nov 1, 2019
    首先确认 composer 的 php 和你直接执行的 php 是不是同一个
    `which composer` 找到对应的 composer 执行文件,打开看看第一行类似这样的 `#!/usr/bin/env php`
    执行第一行里的 `/usr/bin/env php -v (-m)` 看看和`php -v (-m)`的一样不

    或者执行 `composer show -p` 看看
    q569321245
        6
    q569321245  
    OP
       Nov 1, 2019
    @littleylv 查出来确实 php 跟 php -v 的不一样 那要怎么去切换 composer 的 php 版本呢
    U7Q5tLAex2FI0o0g
        7
    U7Q5tLAex2FI0o0g  
       Nov 1, 2019
    @q569321245 #6 那简单,就是跟 @haiyang416 #3 说的一样,指定 php

    /path/to/php /path/to/composer install xxx

    /usr/bin/php /usr/local/bin/composer show -p 比如我这样执行的就是 macOS 自带的 php7.3.8
    /usr/local/bin/php /usr/local/bin/composer show -p (或者不指定路径就是默认的 php /usr/local/bin/composer show -p 或者 composer show -p )就是执行 brew 安装的 php7.3.11
    q569321245
        8
    q569321245  
    OP
       Nov 1, 2019
    @littleylv 我刚才试下了 /path/to/php(有 redis.mbstring 扩展的 php) composer create-project mix/mix --prefer-dist 还是会报错
    U7Q5tLAex2FI0o0g
        9
    U7Q5tLAex2FI0o0g  
       Nov 1, 2019
    Could not open input file: composer 吗?
    那肯定的呀,你这个时候执行的是 php,后面得跟 php 文件,所以需要 /path/to/composer 而不是 composer
    具体 composer 路径 `which composer`


    /path/to/php /path/to/composer install xxx
    q569321245
        10
    q569321245  
    OP
       Nov 1, 2019
    @littleylv 不是 是报缺少扩展
    skiy
        11
    skiy  
       Nov 1, 2019 via Android
    macos?你确认一下是否搞了两个 php
    q569321245
        12
    q569321245  
    OP
       Nov 2, 2019
    sudo /usr/local/bin/composer create-project mix/mix --prefer-dist 执行这条语句报了下面的错
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    - The requested PHP extension ext-redis * is missing from your system. Install or enable PHP's redis extension.
    Problem 2
    - The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension.


    但是我打印 /usr/local/bin/composer show -p
    composer-plugin-api 1.1.0 The Composer Plugin API
    ext-amqp 1.9.3 The amqp PHP extension
    ext-bcmath 7.1.0 The bcmath PHP extension
    ext-ctype 7.1.0 The ctype PHP extension
    ext-curl 7.1.0 The curl PHP extension
    ext-date 7.1.0 The date PHP extension
    ext-dom 20031129 The dom PHP extension
    ext-fileinfo 1.0.5 The fileinfo PHP extension
    ext-filter 7.1.0 The filter PHP extension
    ext-ftp 7.1.0 The ftp PHP extension
    ext-gd 7.1.0 The gd PHP extension
    ext-gettext 7.1.0 The gettext PHP extension
    ext-hash 1.0 The hash PHP extension
    ext-iconv 7.1.0 The iconv PHP extension
    ext-json 1.5.0 The json PHP extension
    ext-libxml 7.1.0 The libxml PHP extension
    ext-mbstring 7.1.0 The mbstring PHP extension
    ext-mcrypt 7.1.0 The mcrypt PHP extension
    ext-mysqli 7.1.0 The mysqli PHP extension
    ext-mysqlnd 0 The mysqlnd PHP extension (actual version: mysqlnd 5.0.12-dev - 20150407 - $Id: d8daadaf41e3cd81d7c6ae96c6091fd15b2c9382 $)
    ext-openssl 7.1.0 The openssl PHP extension
    ext-pcre 7.1.0 The pcre PHP extension
    ext-PDO 7.1.0 The PDO PHP extension
    ext-pdo_mysql 7.1.0 The pdo_mysql PHP extension
    ext-pdo_sqlite 7.1.0 The pdo_sqlite PHP extension
    ext-Phar 2.0.2 The Phar PHP extension
    ext-posix 7.1.0 The posix PHP extension
    ext-redis 4.0.2 The redis PHP extension
    ext-Reflection 7.1.0 The Reflection PHP extension
    ext-session 7.1.0 The session PHP extension
    ext-SimpleXML 7.1.0 The SimpleXML PHP extension
    ext-soap 7.1.0 The soap PHP extension
    ext-sockets 7.1.0 The sockets PHP extension
    ext-SPL 7.1.0 The SPL PHP extension
    ext-sqlite3 0.7-dev The sqlite3 PHP extension
    ext-swoole 1.9.1 The swoole PHP extension
    ext-tokenizer 7.1.0 The tokenizer PHP extension
    ext-xapian 0 The xapian PHP extension (actual version: )
    ext-xdebug 2.6.0beta1 The xdebug PHP extension
    ext-xml 7.1.0 The xml PHP extension
    ext-xmlreader 7.1.0 The xmlreader PHP extension
    ext-xmlwriter 7.1.0 The xmlwriter PHP extension
    ext-Zend-OPcache 7.1.0 The Zend OPcache PHP extension
    ext-zip 1.13.5 The zip PHP extension
    ext-zlib 7.1.0 The zlib PHP extension
    lib-curl 7.47.0 The curl PHP library
    lib-iconv 2.23 The iconv PHP library
    lib-libxml 2.9.3 The libxml PHP library
    lib-openssl 1.0.2.7 OpenSSL 1.0.2g 1 Mar 2016
    lib-pcre 8.38 The pcre PHP library
    php 7.1.0 The PHP interpreter
    php-64bit 7.1.0 The PHP interpreter, 64bit
    php-ipv6 7.1.0 The PHP interpreter, with IPv6 support


    里面显示的 php 版本也是 7.1.0 跟我 PHP -V 的版本是一样的
    PHP 7.1.0 (cli) (built: Nov 5 2018 16:01:57) ( NTS )
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.1.0, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.6.0beta1, Copyright (c) 2002-2017, by Derick Rethans

    昨天根据大家说的装了两个 php 把其中一个给删除了
    About     Help     Advertise     Blog     API     FAQ     Solana     4262 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 00:16 PVG 08:16 LAX 17:16 JFK 20:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86