• The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Resolved Install snuffleupagus PHP 7 & 8

hello @Samet Chan ,
you need to install packages plesk-php74-devel plesk-php80-devel gcc
then follow official installation instructions at Installation — Snuffleupagus stable documentation

please have in view that you should use appropriate /opt/plesk/php/7.4/bin/phpize and --with-php-config=/opt/plesk/php/7.4/bin/php-config (for 7.4 in my example)

and finally doing something like below:
~# echo "extension=snuffleupagus.so" > /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini
~# plesk bin php_handler --reread

after that extension should become available.

~]# /opt/plesk/php/7.4/bin/php --info|grep -i 'snuf'
PHP Warning: [snuffleupagus][0.0.0.0][config][log] No configuration specificed via sp.configuration_file in Unknown on line 0
/opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini,
snuffleupagus
snuffleupagus support => enabled
 
hello @Samet Chan ,
you need to install packages plesk-php74-devel plesk-php80-devel gcc
then follow official installation instructions at Installation — Snuffleupagus stable documentation

please have in view that you should use appropriate /opt/plesk/php/7.4/bin/phpize and --with-php-config=/opt/plesk/php/7.4/bin/php-config (for 7.4 in my example)

and finally doing something like below:
~# echo "extension=snuffleupagus.so" > /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini
~# plesk bin php_handler --reread

after that extension should become available.
I've installed yum install plesk-php74-devel plesk-php80-devel plesk-php81-devel gcc
PHP:
Installed:
  autoconf-2.69-29.el8.noarch
  automake-1.16.1-7.el8.noarch
  cpp-8.5.0-4.el8_5.alma.x86_64
  gcc-8.5.0-4.el8_5.alma.x86_64
  glibc-devel-2.28-164.el8_5.3.x86_64
  glibc-headers-2.28-164.el8_5.3.x86_64
  isl-0.16.1-6.el8.x86_64
  kernel-headers-4.18.0-348.23.1.el8_5.x86_64
  libmpc-1.1.0-9.1.el8.x86_64
  libxcrypt-devel-4.1.1-6.el8.x86_64
  m4-1.4.18-7.el8.x86_64
  perl-Thread-Queue-3.13-1.el8.noarch
  plesk-php74-devel-7.4.29-0redhat.8.220415.1034.x86_64
  plesk-php80-devel-8.0.18-0redhat.8.220415.1034.x86_64
  plesk-php81-devel-8.1.5-0redhat.8.220415.1034.x86_64
I've read Installation - Snuffleupagus for following Quickstart.


I'm getting errors here,
PHP:
[root@anime src]# /opt/plesk/php/7.4/bin/phpize and --with-php-config=/opt/plesk/php/7.4/bin/php-config
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902
[root@anime src]# /opt/plesk/php/8.0/bin/phpize and --with-php-config=/opt/plesk/php/8.0/bin/php-config
Configuring for:
PHP Api Version:         20200930
Zend Module Api No:      20200930
Zend Extension Api No:   420200930
[root@anime src]# /opt/plesk/php/8.1/bin/phpize and --with-php-config=/opt/plesk/php/8.1/bin/php-config
Configuring for:
PHP Api Version:         20210902
Zend Module Api No:      20210902
Zend Extension Api No:   420210902
[root@anime src]# ./configure --enable-snuffleupagus
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking for system library directory... lib
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure: error: Cannot find php-config. Please use --with-php-config=PATH

Error: configure: error: Cannot find php-config. Please use --with-php-config=PATH
 
[root@anime src]# ./configure --enable-snuffleupagus
You have to run it as:

# ./configure --enable-snuffleupagus --with-php-config=/opt/plesk/php/8.1/bin/php-config

Then

# make
# cp /root/snuffleupagus/src/modules/snuffleupagus.so /opt/plesk/php/8.1/lib64/php/modules/
# echo "extension=snuffleupagus.so" > /opt/plesk/php/8.1/etc/php.d/snuffleupagus.ini
# plesk bin php_handler --reread

And finally, check that module is loaded:

# /opt/plesk/php/8.1/bin/php -m | grep snuff
PHP Warning: [snuffleupagus][0.0.0.0][config][log] No configuration specificed via sp.configuration_file in Unknown on line 0
snuffleupagus
 
Last edited:
# yum install make
Thanks,

I was trying to verify snuffleupagus that if was enabled, but the command didn't work from @Nik G for command here,
Code:
/opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini,

snuffleupagus

snuffleupagus support => enabled

Error,
Code:
[root@ src]# /opt/plesk/php/8.1/etc/php.d/snuffleupagus.ini, snuffleupagus
-bash: /opt/plesk/php/8.1/etc/php.d/snuffleupagus.ini,: No such file or directory


[root@ src]# /opt/plesk/php/8.1/etc/php.d/snuffleupagus.ini snuffleupagus
-bash: /opt/plesk/php/8.1/etc/php.d/snuffleupagus.ini: Permission denied
 
I was trying to verify snuffleupagus that if was enabled, but the command didn't work from @Nik G for command here,
Please use my instruction #4
It is for PHP 8.1 version. Change "8.1" to 7.4 or 8.0 in commands there if it is necessary to install this module for corresponding PHP versions.
 
Please use my instruction #4
It is for PHP 8.1 version. Change "8.1" to 7.4 or 8.0 in commands there if it is necessary to install this module for corresponding PHP versions.
Doesn't work for 7.4 and 8.0...
Code:
[root@ ~]# cd snuffleupagus/src
[root@ src]# ./configure --enable-snuffleupagus --with-php-config=/opt/plesk/php/7.4/bin/php-config
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking for system library directory... lib
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for PHP prefix... /opt/plesk/php/7.4
checking for PHP includes... -I/opt/plesk/php/7.4/include/php -I/opt/plesk/php/7.4/include/php/main -I/opt/plesk/php/7.4/include/php/TSRM -I/opt/plesk/php/7.4/include/php/Zend -I/opt/plesk/php/7.4/include/php/ext -I/opt/plesk/php/7.4/include/php/ext/date/lib
checking for PHP extension directory... /opt/plesk/php/7.4/lib64/php/modules
checking for PHP installed headers prefix... /opt/plesk/php/7.4/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for gawk... gawk
checking whether to enable snuffleupagus support... yes, shared
checking whether to enable coverage support... no
checking whether to enable debug messages... no
checking whether to enable debug messages... no
checking for cc option to accept ISO C99... none needed
checking for cc option to accept ISO Standard C... (cached) none needed
./configure: line 4236: pcre2-config: command not found
checking for pcre_compile in -lpcre... no
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... (cached) gawk
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... no
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: patching config.h.in
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing libtool commands
./configure: line 4236: pcre2-config: command not found
This is an error and missing one?

Code:
[root@ src]# make

Build complete.
Don't forget to run 'make test'.

[root@ src]# cp /root/snuffleupagus/src/modules/snuffleupagus.so /opt/plesk/php/7.4/lib64/php/modules/
[root@ src]# echo "extension=snuffleupagus.so" > /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini
[root@ src]# plesk bin php_handler --reread
The information about PHP handlers was successfully updated.
[root@ src]# /opt/plesk/php/7.4/bin/php -m | grep snuff
PHP Warning:  PHP Startup: snuffleupagus: Unable to initialize module
Module compiled with module API=20210902
PHP    compiled with module API=20190902
These options need to match
 in Unknown on line 0
[root@ src]# /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini, snuffleupagus
-bash: /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini,: No such file or directory
[root@ src]# /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini snuffleupagus
-bash: /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini: Permission denied
[root@ src]# /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini
-bash: /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini: Permission denied
[root@ src]# /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini,
-bash: /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini,: No such file or directory
 
"pcre2-config: command not found":

Code:
yum install pcre2-devel
Done and no error, but after didn't work :/
Code:
[root@ src]# cp /root/snuffleupagus/src/modules/snuffleupagus.so /opt/plesk/php/7.4/lib64/php/modules/
cp: overwrite '/opt/plesk/php/7.4/lib64/php/modules/snuffleupagus.so'?
[root@ src]# echo "extension=snuffleupagus.so" > /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini
[root@ src]# sk
-bash: sk: command not found
[root@ src]# sk
-bash: sk: command not found
[root@ src]# plesk bin php_handler --reread
The information about PHP handlers was successfully updated.
[root@ src]# /opt/plesk/php/7.4/bin/php -m | grep snuff
PHP Warning:  PHP Startup: snuffleupagus: Unable to initialize module
Module compiled with module API=20210902
PHP    compiled with module API=20190902
These options need to match
 in Unknown on line 0
[root@ src]# /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini, snuffleupagus
-bash: /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini,: No such file or directory
[root@ src]# /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini snuffleupagus
-bash: /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini: Permission denied
 
Please start again at #4

Before you run
Code:
# make
do a
Code:
# make clean
to start fresh.
 
Last edited:
Please start again at #4

Before you run
Code:
# make
do a
Code:
# make clean
to start fresh.
Done, and that snuffleupagus is not enabled. How I can enable on PHP?
Code:
[root@ src]# /opt/plesk/php/7.4/bin/phpize and --with-php-config=/opt/plesk/php/7.4/bin/php-config
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902
[root@ src]# echo "extension=snuffleupagus.so" > /opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini
[root@ src]# plesk bin php_handler --reread
The information about PHP handlers was successfully updated.
[root@ src]# /opt/plesk/php/7.4/bin/php --info|grep -i 'snuf'
PHP Warning:  PHP Startup: snuffleupagus: Unable to initialize module
Module compiled with module API=20210902
PHP    compiled with module API=20190902
These options need to match
 in Unknown on line 0
/opt/plesk/php/7.4/etc/php.d/snuffleupagus.ini,
PWD => /root/snuffleupagus/src/snuffleupagus/src
OLDPWD => /root/snuffleupagus/src
$_SERVER['PWD'] => /root/snuffleupagus/src/snuffleupagus/src
$_SERVER['OLDPWD'] => /root/snuffleupagus/src
[root@ src]#
 
What is the output of:
Code:
# /opt/plesk/php/7.4/bin/php -v
and
Code:
# /opt/plesk/php/7.4/bin/php -m
 
What is the output of:
Code:
# /opt/plesk/php/7.4/bin/php -v
and
Code:
# /opt/plesk/php/7.4/bin/php -m
1.
Code:
[root@ src]# /opt/plesk/php/7.4/bin/php -v
PHP Warning:  PHP Startup: snuffleupagus: Unable to initialize module
Module compiled with module API=20210902
PHP    compiled with module API=20190902
These options need to match
 in Unknown on line 0
PHP 7.4.29 (cli) (built: Apr 15 2022 03:34:14) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with the ionCube PHP Loader + ionCube24 v11.0.1, Copyright (c) 2002-2022, by ionCube Ltd.
    with Zend OPcache v7.4.29, Copyright (c), by Zend Technologies

2.
Code:
[root@ src]# /opt/plesk/php/7.4/bin/php -m
PHP Warning:  PHP Startup: snuffleupagus: Unable to initialize module
Module compiled with module API=20210902
PHP    compiled with module API=20190902
These options need to match
 in Unknown on line 0
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
enchant
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imagick
imap
intl
ionCube Loader
json
ldap
libxml
mbstring
mysqli
mysqlnd
odbc
openssl
pcntl
pcre
PDO
pdo_mysql
PDO_ODBC
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
pspell
readline
redis
Reflection
session
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache
the ionCube PHP Loader + ionCube24
 
# cp /root/snuffleupagus/src/modules/snuffleupagus.so /opt/plesk/php/8.1/lib64/php/modules/
You again did not follow the instructions carefully and did not copy the module to the right directory with this command.
Please do not forget to change "8.1" in this command to "7.4" if you install module for PHP 7.4
 
What is the output of
Code:
# ls -l /opt/plesk/php/7.4/lib64/php/modules/
Here, I think it is an enabled extension, I am not sure.
Code:
[root@ src]# ls -l /opt/plesk/php/7.4/lib64/php/modules/
total 15560
-rwxr-xr-x 1 root root   42000 Apr 15 05:34 bcmath.so
-rwxr-xr-x 1 root root  108328 Apr 15 05:34 curl.so
-rwxr-xr-x 1 root root   60800 Apr 15 05:34 dba.so
-rwxr-xr-x 1 root root  182592 Apr 15 05:34 dom.so
-rwxr-xr-x 1 root root   28400 Apr 15 05:34 enchant.so
-rwxr-xr-x 1 root root 5746512 Apr 15 05:34 fileinfo.so
-rwxr-xr-x 1 root root  402608 Apr 15 05:34 gd.so
-rwxr-xr-x 1 root root  464768 Feb 18 08:57 imagick.so
-rwxr-xr-x 1 root root  102952 Apr 15 05:34 imap.so
-rwxr-xr-x 1 root root  530520 Apr 15 05:34 intl.so
-rw-r--r-- 1 root root 1386768 Feb 18 04:50 ioncube_loader_lin_7.4.so
-rwxr-xr-x 1 root root   45640 Apr 15 05:34 json.so
-rwxr-xr-x 1 root root   94696 Apr 15 05:34 ldap.so
-rwxr-xr-x 1 root root 1084880 Apr 15 05:34 mbstring.so
-rwxr-xr-x 1 root root  146656 Apr 15 05:34 mysqli.so
-rwxr-xr-x 1 root root  267464 Apr 15 05:34 mysqlnd.so
-rwxr-xr-x 1 root root   75480 Apr 15 05:34 odbc.so
-rwxr-xr-x 1 root root  564720 Apr 15 05:34 opcache.so
-rwxr-xr-x 1 root root   33008 Apr 15 05:34 pdo_mysql.so
-rwxr-xr-x 1 root root   29136 Apr 15 05:34 pdo_odbc.so
-rwxr-xr-x 1 root root   46000 Apr 15 05:34 pdo_pgsql.so
-rwxr-xr-x 1 root root  113592 Apr 15 05:34 pdo.so
-rwxr-xr-x 1 root root   33520 Apr 15 05:34 pdo_sqlite.so
-rwxr-xr-x 1 root root  148392 Apr 15 05:34 pgsql.so
-rwxr-xr-x 1 root root  286008 Apr 15 05:34 phar.so
-rwxr-xr-x 1 root root   36712 Apr 15 05:34 posix.so
-rwxr-xr-x 1 root root   24168 Apr 15 05:34 pspell.so
-rwxr-xr-x 1 root root  665376 Feb 18 08:57 redis.so
-rwxr-xr-x 1 root root   57832 Apr 15 05:34 snmp.so
-rwxr-xr-x 1 root root 1498448 Apr 30 15:52 snuffleupagus.so
-rwxr-xr-x 1 root root  318912 Apr 15 05:34 soap.so
-rwxr-xr-x 1 root root  409144 Apr 15 05:34 sodium.so
-rwxr-xr-x 1 root root   58056 Apr 15 05:34 sqlite3.so
-rwxr-xr-x 1 root root   20112 Apr 15 05:34 sysvmsg.so
-rwxr-xr-x 1 root root   11728 Apr 15 05:34 sysvsem.so
-rwxr-xr-x 1 root root   15920 Apr 15 05:34 sysvshm.so
-rwxr-xr-x 1 root root   58144 Apr 15 05:34 tidy.so
-rwxr-xr-x 1 root root  378104 Apr 15 05:34 xdebug.so
-rwxr-xr-x 1 root root   36720 Apr 15 05:34 xmlreader.so
-rwxr-xr-x 1 root root   84576 Apr 15 05:34 xmlrpc.so
-rwxr-xr-x 1 root root   48944 Apr 15 05:34 xmlwriter.so
-rwxr-xr-x 1 root root   33256 Apr 15 05:34 xsl.so
-rwxr-xr-x 1 root root   70728 Apr 15 05:34 zip.so

You again did not follow the instructions carefully and did not copy the module to the right directory with this command.
Please do not forget to change "8.1" in this command to "7.4" if you install module for PHP 7.4
I do follow your guide, I have three of PHP 8.1 and PHP 8.0, 7.4 were installed at snuffleupagus same the time.
 
Back
Top