voxpupuli / puppet-php

Generic Puppet module to manage PHP on many platforms
http://forge.puppet.com/puppet/php
MIT License
87 stars 267 forks source link

redis extension #619

Open tdelov opened 3 years ago

tdelov commented 3 years ago

Affected Puppet, Ruby, OS and module versions/distributions

How to reproduce (e.g Puppet code you use)

Hiera config.

php::extensions:
  igbinary:
    provider: pecl
  redis :
    provider: pecl

What are you seeing

Puppet fails to build redis so file. Warning: Could not match PHP Warning: PHP Startup: Unable to load dynamic library 'redis.so' (tried: /usr/lib64/php/modules/redis.so (/usr/lib64/php/modules/redis.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/redis.so.so (/usr/lib64/php/modules/redis.so.so: cannot open shared object file: No such file or directory)) in Unknown on line

What behaviour did you expect instead

When I run the pecl command manually, the library works and build she redis.so file. If I install the igbinary, It also compiles manually if I select yes for the "enable igbinary serializer support" option.


sudo pecl install redis
downloading redis-5.3.3.tgz ...
Starting to download redis-5.3.3.tgz (266,990 bytes)
........................................................done: 266,990 bytes
29 source files, building
running: phpize
Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718
enable igbinary serializer support? [no] : 
enable lzf compression support? [no] : 
enable zstd compression support? [no] : 
building in /var/tmp/pear-build-rootI9KiZf/redis-5.3.3
....

Build process completed successfully
Installing '/usr/lib64/php/modules/redis.so'
install ok: channel://pecl.php.net/redis-5.3.3
configuration option "php_ini" is not set to php.ini location
You should add "extension=redis.so" to php.ini
dionrowney commented 2 months ago

I am also trying to install the redis module the "correct" way and have it answer the interactive questions via the module. can you share your yaml?

dionrowney commented 2 months ago

I have given up on this.
The problem seems to be the interactivity of the module installation I attempted to utilize the install_options and responsefile values to no avail... even though both options are capable from the pear and pecl command cli and the complete lack of examples of what this should look like in yaml does NOT help. I am not sure how many other interactive module installations there are but this likely needs working out.