gpt4 book ai didi

php - 如何为 php 7.3 安装 ssh2

转载 作者:行者123 更新时间:2023-12-02 18:03:48 28 4
gpt4 key购买 nike

尝试通过 pecl 安装扩展 ssh2 时,我遇到以下错误消息。我使用的是基于 php:7.3.2-fpm 的 docker 容器

重现步骤:

  • 安装 PHP 7.3.2
  • 安装软件包 libssh2-1-devlibssh2-1
  • 尝试通过 pecl install ssh2-1.1.2 安装 ssh2 扩展

  • 那么我怎样才能成功安装ssh2延期?
    ...

    /tmp/pear/temp/ssh2/ssh2_fopen_wrappers.c: In function 'php_ssh2_fopen_wrapper_tunnel':
    /tmp/pear/temp/ssh2/ssh2_fopen_wrappers.c:1265:42: error: invalid operands to binary == (have 'zend_string {aka struct _zend_string}' and 'int')
    if (resource->path && resource->path[0] == '/') {
    ~~~~~~~~~~~~~~~~~ ^~
    /tmp/pear/temp/ssh2/ssh2_fopen_wrappers.c:1268:8: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
    host = resource->path + 1;
    ^
    Makefile:196: recipe for target 'ssh2_fopen_wrappers.lo' failed
    make: *** [ssh2_fopen_wrappers.lo] Error 1
    ERROR: `make' failed

    我找到了 this question当我第一次用谷歌搜索时,没有回答并暂停 super 用户。我认为它更适合这里。

    最佳答案

    有关于 bugs.php.net 的现有报告,用户 goldorakhong 评论说要从源代码编译它。

    使用 docker 文件可以这样做:

    RUN cd /tmp \
    && git clone https://git.php.net/repository/pecl/networking/ssh2.git \
    && cd /tmp/ssh2/ \
    && .travis/build.sh \
    && docker-php-ext-enable ssh2

    如果您不使用 docker,则需要替换 docker-php-ext-enable以其他方式注册变量。

    关于php - 如何为 php 7.3 安装 ssh2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57217774/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com