【问题标题】:Homebrew: Install php mcrypt自制:安装 php mcrypt
【发布时间】:2018-09-18 05:12:36
【问题描述】:

我可能和其他 1000k+ 人一样,在迁移到不同的结构后遇到了自制软件的问题。

我已经安装了自制软件,然后安装了 php: $ 酿造安装 php 在这里,我得到了 php 7.2 版本。 在这个版本中,我缺少一些模块,例如 xdebug、mcrypt 和其他一些模块。 问题:如何通过自制软件安装它们???????????????

没有正确的文档。不在自制 php-package 站点,不在任何地方。

我的项目需要这一切,没有时间切换回本机包。

感谢大家的支持!!!

【问题讨论】:

    标签: homebrew macos-high-sierra


    【解决方案1】:

    自 2018 年 3 月 31 日起,homebrew-php 似乎已被弃用,所有 php 库都将成为 homebrew/core 的一部分。

    这也意味着:

    请原谅我的愚蠢问题,我不确定我是否理解:不会有 php71-mcrypt,但可能有 php-mcrypt,只要它接受任何已安装的 php 包?

    两者都不会,但我们会接受默认安装 mcrypt 的 php 或 php@7.1 公式。

    在公告中,您还提到 CI 工作负载是弃用 Tap 的一个原因。在 tap 正式存档之前,将公式更新限制为受支持的 PHP 版本(目前为 5.6、7.0、7.1 和 7.2)以减少 CI 工作量和瓶构建是否有意义?

    我不想规定这个水龙头在弃用前是如何运行的。这可能不是一个坏主意,但考虑到水龙头会在几个月后消失,我认为在那之前它可以保持原样。

    换句话说,现在默认安装了 mcrypt。 请参阅Zaph's 对另一个答案的评论以获得更详细的解释。

    我不确定 xdebug,但您可能想检查一下。

    https://github.com/Homebrew/homebrew-php/issues/4721

    附言可以用php -m查看安装了哪些模块

    【讨论】:

    • 其实mcrypt默认包含。我现在正在寻找这个确切的模块,因为我需要它来更新 Laravel。
    【解决方案2】:

    @caspertm 我刚刚重新安装了 Homebrew PHP,mcrypt 根本不包括在内。

    ~ ᐅ php --version
    PHP 7.2.4 (cli) (built: Apr 19 2018 16:42:29) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
        with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies
    ~ ᐅ php -m
    [PHP Modules]
    bcmath
    bz2
    calendar
    Core
    ctype
    curl
    date
    dba
    dom
    exif
    fileinfo
    filter
    ftp
    gd
    gettext
    gmp
    hash
    iconv
    intl
    json
    ldap
    libxml
    mbstring
    mysqli
    mysqlnd
    odbc
    openssl
    pcntl
    pcre
    PDO
    pdo_dblib
    pdo_mysql
    PDO_ODBC
    pdo_pgsql
    pdo_sqlite
    pgsql
    Phar
    phpdbg_webhelper
    posix
    pspell
    readline
    Reflection
    session
    shmop
    SimpleXML
    soap
    sockets
    sodium
    SPL
    sqlite3
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    wddx
    xml
    xmlreader
    xmlrpc
    xmlwriter
    xsl
    Zend OPcache
    zip
    zlib
    
    [Zend Modules]
    Zend OPcache
    
    ~ ᐅ which php
    /usr/local/bin/php
    

    我错过了什么吗?看起来,为了让事情变得更容易,Homebrew 的人已经搞砸了依赖这个的 PHP 开发人员......

    PECL 工作,排序,(mcrypt 不与 PHP 7.2.x 一起安装,因为在这种情况下没有任何东西被标记为“稳定”,但是 xdebug 安装。我还没有测试过其他任何东西,)这对某些人来说可能就足够了,但听起来 OP 出于某种原因不能/不想使用它?

    【讨论】:

    • 最好不要使用 PHP mcrypt,它是废弃软件,多年未更新,不支持标准 PKCS#7(née PKCS#5)填充,仅支持非标准空填充甚至不能用于二进制数据。 mcrypt 有许多出色的 bugs 可以追溯到 2003 年。mcrypt-extension is deprecated 在 PHP 7.2 中被删除。而是考虑使用defuseRNCryptor,它们提供了完整的解决方案并且正在维护中并且是正确的。
    • WRT "Homebrew 的人搞砸了 PHP 开发人员" 不,是 mcrypt 开发人员搞砸了用户。
    • @zaph,感谢您解释它已被删除。我只需要加快将此代码迁移到 Laravel 5.6 等。
    猜你喜欢
    • 2014-12-06
    • 2013-11-30
    • 2014-03-04
    • 2017-10-28
    • 2015-01-23
    • 2012-01-06
    • 2014-12-17
    • 2013-06-11
    • 2020-06-07
    相关资源
    最近更新 更多