Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

PHP7.3にSSH2導入 yumでかんたん

More than 1 year has passed since last update.

とりあえず最初に結論

yum install --disablerepo=* --enablerepo=remi,remi-php73 php-pecl-ssh2

以下、無駄な試行錯誤のメモ

https://qiita.com/bohebohechan/items/50f1546a20c9dde7efcb

libssh2手動で入れたけど、なんか最初から入ってた気がする 作業前に要phpinfo確認、エクステンション入れる前でもlibssh2のバージョンは出る

peclのssh2を手動で入れようとするとめちゃくちゃエラーが出る

ちなみに wget https://pecl.php.net/get/ssh2 としたほうがよい 最新がとれる

/root/ssh2-1.1.2/ssh2_fopen_wrappers.c: In function 'php_ssh2_fopen_wraper_parse_path':
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: warning: passing argument 1 of 'strlen' from incompatible pointer t                                ype [enabled by default]
  if (strncmp(resource->scheme, "ssh2.", sizeof("ssh2.") - 1)) {
  ^
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:395:15: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern size_t strlen (const char *__s)
               ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: warning: passing argument 1 of 'strlen' from incompatible pointer t                                ype [enabled by default]
  if (strncmp(resource->scheme, "ssh2.", sizeof("ssh2.") - 1)) {
  ^
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:395:15: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern size_t strlen (const char *__s)
               ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: warning: passing argument 1 of '__builtin_strcmp' from incompatible                                 pointer type [enabled by default]
  if (strncmp(resource->scheme, "ssh2.", sizeof("ssh2.") - 1)) {
  ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: note: expected 'const char *' but argument is of type 'struct zend_                                string *'
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: warning: passing argument 1 of 'strlen' from incompatible pointer t                                ype [enabled by default]
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:395:15: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern size_t strlen (const char *__s)
               ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: warning: passing argument 1 of '__builtin_strcmp' from incompatible                                 pointer type [enabled by default]
  if (strncmp(resource->scheme, "ssh2.", sizeof("ssh2.") - 1)) {
  ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: note: expected 'const char *' but argument is of type 'struct zend_                                string *'
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: warning: passing argument 1 of '__builtin_strcmp' from incompatible                                 pointer type [enabled by default]
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: note: expected 'const char *' but argument is of type 'struct zend_                                string *'
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: warning: passing argument 1 of '__builtin_strcmp' from incompatible                                 pointer type [enabled by default]
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: note: expected 'const char *' but argument is of type 'struct zend_                                string *'
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:236:2: warning: passing argument 1 of 'strncmp' from incompatible pointer                                 type [enabled by default]
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:143:12: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern int strncmp (const char *__s1, const char *__s2, size_t __n)
            ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: warning: passing argument 1 of 'strlen' from incompatible pointer t                                ype [enabled by default]
  if (strcmp(resource->scheme + sizeof("ssh2.") - 1, type)) {
  ^
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:395:15: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern size_t strlen (const char *__s)
               ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: warning: passing argument 1 of '__builtin_strcmp' from incompatible                                 pointer type [enabled by default]
  if (strcmp(resource->scheme + sizeof("ssh2.") - 1, type)) {
  ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: note: expected 'const char *' but argument is of type 'struct zend_                                string *'
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: warning: passing argument 1 of 'strlen' from incompatible pointer t                                ype [enabled by default]
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:395:15: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern size_t strlen (const char *__s)
               ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: warning: passing argument 1 of '__builtin_strcmp' from incompatible                                 pointer type [enabled by default]
  if (strcmp(resource->scheme + sizeof("ssh2.") - 1, type)) {
  ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: note: expected 'const char *' but argument is of type 'struct zend_                                string *'
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: warning: passing argument 1 of '__builtin_strcmp' from incompatible                                 pointer type [enabled by default]
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: note: expected 'const char *' but argument is of type 'struct zend_                                string *'
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: warning: passing argument 1 of '__builtin_strcmp' from incompatible                                 pointer type [enabled by default]
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:242:2: note: expected 'const char *' but argument is of type 'struct zend_                                string *'
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:256:4: warning: assignment from incompatible pointer type [enabled by defa                                ult]
  s = resource->path;
    ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:257:2: warning: passing argument 2 of 'strstr' from incompatible pointer t                                ype [enabled by default]
  resource->path = estrdup(strstr(path, resource->path));
  ^
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:338:14: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern char *strstr (const char *__haystack, const char *__needle)
              ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:257:17: warning: assignment from incompatible pointer type [enabled by def                                ault]
  resource->path = estrdup(strstr(path, resource->path));
                 ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:261:4: warning: assignment from incompatible pointer type [enabled by defa                                ult]
  s = resource->host;
    ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:312:24: error: invalid operands to binary == (have 'zend_string' and 'int'                                )
  if (resource->host[0] == 0 && context && psftp &&
                        ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:326:24: error: invalid operands to binary == (have 'zend_string' and 'int'                                )
  if (resource->host[0] == 0 && context &&
                        ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:402:3: warning: passing argument 1 of 'strlen' from incompatible pointer t                                ype [enabled by default]
   int len = strlen(resource->user);
   ^
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:395:15: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern size_t strlen (const char *__s)
               ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:405:13: warning: assignment from incompatible pointer type [enabled by def                                ault]
    username = resource->user;
             ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:411:3: warning: passing argument 1 of 'strlen' from incompatible pointer t                                ype [enabled by default]
   int len = strlen(resource->pass);
   ^
In file included from /usr/include/php/main/../main/php_config.h:2623:0,
                 from /usr/include/php/Zend/zend_config.h:1,
                 from /usr/include/php/Zend/zend_portability.h:43,
                 from /usr/include/php/Zend/zend_types.h:25,
                 from /usr/include/php/Zend/zend.h:27,
                 from /usr/include/php/main/php.h:33,
                 from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:25:
/usr/include/string.h:395:15: note: expected 'const char *' but argument is of type 'struct zend_string *'
 extern size_t strlen (const char *__s)
               ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:414:13: warning: assignment from incompatible pointer type [enabled by def                                ault]
    password = resource->pass;
             ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:425:2: warning: passing argument 1 of 'php_ssh2_session_connect' from inco                                mpatible pointer type [enabled by default]
  session = php_ssh2_session_connect(resource->host, resource->port, methods, callbacks);
  ^
In file included from /root/ssh2-1.1.2/ssh2_fopen_wrappers.c:26:0:
/root/ssh2-1.1.2/php_ssh2.h:151:18: note: expected 'char *' but argument is of type 'struct zend_string *'
 LIBSSH2_SESSION *php_ssh2_session_connect(char *host, int port, zval *methods, zval *callbacks);
                  ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c: In function 'php_ssh2_fopen_wrapper_shell':
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:634:4: warning: assignment from incompatible pointer type [enabled by defa                                ult]
  s = resource->path ? resource->path : NULL;
    ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c: In function 'php_ssh2_fopen_wrapper_exec':
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:881:2: warning: passing argument 3 of 'php_ssh2_exec_command' from incompa                                tible pointer type [enabled by default]
  stream = php_ssh2_exec_command(session, resource_id, resource->path + 1, terminal, terminal_len, environment, w                                idth, height, type);
  ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:737:20: note: expected 'char *' but argument is of type 'struct zend_strin                                g *'
 static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_id, char *command, char *term, i                                nt term_len, zval *environment, long width, long height, long type)
                    ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c: In function 'php_ssh2_fopen_wrapper_scp':
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:1024:2: warning: passing argument 3 of 'php_ssh2_scp_xfer' from incompatib                                le pointer type [enabled by default]
  stream = php_ssh2_scp_xfer(session, resource_id, resource->path);
  ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:970:20: note: expected 'char *' but argument is of type 'struct zend_strin                                g *'
 static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id, char *filename)
                    ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c: In function 'php_ssh2_fopen_wrapper_tunnel':
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:1265:42: error: invalid operands to binary == (have 'zend_string' and 'in                                 ')
  if (resource->path && resource->path[0] == '/') {
                                          ^
/root/ssh2-1.1.2/ssh2_fopen_wrappers.c:1268:8: warning: assignment from incompatible pointer type [enabled by def                                ault]
   host = resource->path + 1;
        ^
make: *** [ssh2_fopen_wrappers.lo] エラー 1
kituneponyo
よわよわぷらぐらま いかに低い意識と技術でその場をどうにかごまかして乗り切るかばかり考えている(乗り切れない)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away