При попытке установить расширение ssh2 через pecl я сталкиваюсь с приведенными ниже сообщениями об ошибках. Я использовал контейнер докеров на основе php:7.3.2-fpm
Действия для воспроизведения:
- Установите PHP 7.3.2
- Установите пакеты
libssh2-1-dev
иlibssh2-1
- Попробуйте установить расширение ssh2 через
pecl install ssh2-1.1.2
Итак, как я могу успешно установить расширение 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
Я нашел этот вопрос без ответа и отложил superusers, когда я впервые погуглил об этом. Мне кажется, здесь больше подходит.