Can't get php7.4 working properly (custombuild)

peps03

Verified User
Joined
Oct 24, 2013
Messages
191
Location
Amsterdam
I updated custombuild to 1.0.31 and set php1_release to php7.4, php2_release to php7.0, php3_release to php5.6 and php4_release to php7.3.

When i select php7.4 from the website PHP version selector the corresponding website gives this error:

Code:
Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Additionally, a 503 Service Unavailable error was encountered while trying to use an ErrorDocument to handle the request.

When I go to Custombuild > Build Software tab > and select:
Build PHPVersion 7.4 as php-fpm (default), 7.0 as php-fpm (additional), 5.6 as php-fpm (additional) and 7.3 as php-fpm (additional).
Install/update PHP.

I get the output below and PHP doesn't really seem to be built.

What should I do?

Thanks!

Code:
Executing /usr/local/directadmin/plugins/custombuild/admin/build php...
Found /usr/local/directadmin/custombuild/php-7.4.0.tar.gz
Extracting ...
Done.
Configuring php-7.4.0...
Patching php-fpm to not fail on startup if User quota maxed out on socket chown
patching file sapi/fpm/fpm/fpm_unix.c
Hunk #1 succeeded at 234 (offset -1 lines).
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
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
shtool:echo:Warning: unable to determine terminal sequence for bold mode
shtool:echo:Warning: unable to determine terminal sequence for bold mode
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 how to run the C preprocessor... cc -E
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 minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether ln -s works... yes
checking for system library directory... lib
checking whether to enable runpaths... yes
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking for gawk... gawk
checking for bison... bison
checking for bison version... 2.4.1
checking for re2c... no
checking whether to enable computed goto gcc extension with re2c... no
checking whether C compiler accepts -fvisibility=hidden... yes
checking whether to force non-PIC code in shared modules... no
checking whether /dev/urandom exists... yes
checking for global register variables support... no
checking whether atof() accepts NAN... no
checking whether atof() accepts INF... no
checking whether HUGE_VAL == INF... yes
checking whether HUGE_VAL + -HUGEVAL == NAN... no
checking whether __cpuid_count is available... yes
checking for pthreads_cflags... -pthread
checking for pthreads_lib... pthread

Configuring SAPI modules
checking for Apache 2 handler module support via DSO through APXS... yes
checking for setproctitle... no
checking sys/pstat.h usability... no
checking sys/pstat.h presence... no
checking for sys/pstat.h... no
checking for PS_STRINGS... no
checking for CLI build... yes
checking for embedded SAPI library support... no
checking for FPM build... yes
checking for clearenv... yes
checking for setproctitle... (cached) no
checking for setproctitle_fast... no
checking for library containing socket... none required
checking for library containing inet_addr... none required
checking for prctl... yes
checking for clock_gettime... no
checking for clock_gettime in -lrt... yes
checking for ptrace... yes
checking whether ptrace works... yes
checking for proc mem file... mem
checking if gcc supports __sync_bool_compare_and_swap... yes
checking for TCP_INFO... yes
checking for sysconf... yes
checking for times... yes
checking for kqueue... no
checking for port framework... no
checking for /dev/poll... no
checking for epoll... yes
checking for select... yes
checking for apparmor... no
checking for LiteSpeed support... yes
checking for phpdbg support... yes
checking for phpdbg web SAPI support... no
checking for phpdbg debug build... no
checking for phpdbg readline support... no
checking whether termios.h defines TIOCGWINSZ... no
checking whether sys/ioctl.h defines TIOCGWINSZ... yes
checking for phpdbg and readline integration... disabled
checking for CGI build... yes
checking for sun_len in sys/un.h... no
checking whether cross-process locking is required by accept()... no
checking for chosen SAPI module... apache2handler
checking for executable SAPI binaries...  cli fpm litespeed phpdbg cgi

Running system checks
checking for sendmail... /usr/sbin/sendmail
checking whether system uses EBCDIC... no
checking whether byte ordering is bigendian... no
checking whether writing to stdout works... This is the test message -- yes
checking for socket... yes
checking for socketpair... yes
checking for htonl... yes
checking for gethostname... yes
checking for gethostbyaddr... yes
checking for dlopen... no
checking for __dlopen... no
checking for dlopen in -ldl... yes
checking for dlsym... yes
checking for sin in -lm... yes
checking for inet_aton... yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for dirent.h... yes
checking for sys/param.h... yes
checking for sys/types.h... (cached) yes
checking for sys/time.h... yes
checking for netinet/in.h... yes
checking for alloca.h... yes
checking for arpa/inet.h... yes
checking for arpa/nameser.h... yes
checking for crypt.h... yes
checking for dns.h... no
checking for fcntl.h... yes
checking for grp.h... yes
checking for ieeefp.h... no
checking for langinfo.h... yes
checking for locale.h... yes
checking for malloc.h... yes
checking for monetary.h... yes
checking for netdb.h... yes
checking for poll.h... yes
checking for pwd.h... yes
checking for resolv.h... yes
checking for strings.h... (cached) yes
checking for syslog.h... yes
checking for sysexits.h... yes
checking for sys/ioctl.h... yes
checking for sys/file.h... yes
checking for sys/mman.h... yes
checking for sys/mount.h... yes
checking for sys/poll.h... yes
checking for sys/resource.h... yes
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for sys/stat.h... (cached) yes
checking for sys/statfs.h... yes
checking for sys/statvfs.h... yes
checking for sys/vfs.h... yes
checking for sys/sysexits.h... no
checking for sys/uio.h... yes
checking for sys/wait.h... yes
checking for sys/loadavg.h... no
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking for unix.h... no
checking for utime.h... yes
checking for sys/utsname.h... yes
checking for sys/ipc.h... yes
checking for dlfcn.h... yes
checking for tmmintrin.h... no
checking for nmmintrin.h... no
checking for immintrin.h... yes
checking for fopencookie... yes
checking for broken getcwd... no
checking for broken gcc optimize-strlen... no
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for missing declarations of reentrant functions... done
checking for fclose declaration... ok
checking for struct flock... yes
checking for socklen_t... yes
checking size of intmax_t... 8
checking size of ssize_t... 8
checking size of ptrdiff_t... 8
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of size_t... 8
checking for int8... no
checking for int16... no
checking for int32... no
checking for int64... no
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for uint8... no
checking for uint16... no
checking for uint32... no
checking for uint64... no
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for u_int8_t... yes
checking for u_int16_t... yes
checking for u_int32_t... yes
checking for u_int64_t... yes
checking for __builtin_expect... yes
checking for __builtin_clz... yes
checking for __builtin_ctzl... yes
checking for __builtin_ctzll... yes
checking for __builtin_smull_overflow... no
checking for __builtin_smulll_overflow... no
checking for __builtin_saddl_overflow... no
checking for __builtin_saddll_overflow... no
checking for __builtin_ssubl_overflow... no
checking for __builtin_ssubll_overflow... no
checking for __builtin_cpu_init... no
checking for __builtin_cpu_supports... no
checking for struct tm.tm_gmtoff... yes
checking for struct stat.st_blksize... yes
checking for struct stat.st_rdev... yes
checking for struct stat.st_blocks... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for struct sockaddr_storage... yes
checking for field sa_len in struct sockaddr... no
checking for __attribute__((ifunc))... no
checking for __attribute__((target))... yes
checking for IPv6 support... yes
checking for alphasort... yes
checking for asctime_r... yes
checking for chroot... yes
checking for ctime_r... yes
checking for crypt... no
checking for explicit_memset... no
checking for flock... yes
checking for fpclass... no
checking for ftok... yes
checking for funopen... no
checking for gai_strerror... yes
checking for getcwd... yes
checking for getloadavg... yes
checking for getlogin... yes
checking for getprotobyname... yes
checking for getprotobynumber... yes
checking for getservbyname... yes
checking for getservbyport... yes
checking for getrusage... yes
checking for gettimeofday... yes
checking for gmtime_r... yes
checking for getpwnam_r... yes
checking for getgrnam_r... yes
checking for getpwuid_r... yes
checking for getwd... yes
checking for glob... yes
checking for grantpt... yes
checking for inet_ntoa... yes
checking for inet_ntop... yes
checking for inet_pton... yes
checking for localtime_r... yes
checking for lchown... yes
checking for mbrlen... yes
checking for memmove... yes
checking for mkstemp... yes
checking for mmap... yes
checking for nice... yes
checking for nl_langinfo... yes
checking for poll... yes
checking for ptsname... yes
checking for putenv... yes
checking for realpath... yes
checking for rand_r... yes
checking for scandir... yes
checking for setitimer... yes
checking for setenv... yes
checking for shutdown... yes
checking for sigprocmask... yes
checking for statfs... yes
checking for statvfs... yes
checking for std_syslog... no
checking for strcasecmp... yes
checking for strfmon... yes
checking for strnlen... yes
checking for strptime... yes
checking for strtok_r... yes
checking for symlink... yes
checking for tzset... yes
checking for unlockpt... yes
checking for unsetenv... yes
checking for usleep... yes
checking for utime... yes
checking for vasprintf... yes
checking for asprintf... yes
checking for nanosleep... yes
checking for memmem... yes
checking how many arguments gethostbyname_r() takes... six
checking for nanosleep in -lrt... yes
checking for getaddrinfo... yes
checking for __sync_fetch_and_add... yes
checking for strlcat... no
checking for strlcpy... no
checking for explicit_bzero... no
checking for getopt... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for type of reentrant time-related functions... POSIX
checking for in_addr_t... yes
checking for crypt_r... no
checking for asm goto... yes
checking whether compiler supports VLA... yes
checking whether to enable valgrind support... yes
checking for valgrind... no

General settings
checking whether to include gcov symbols... no
checking whether to include debugging symbols... no
checking whether to dlopen extensions with RTLD_NOW instead of RTLD_LAZY... no
checking layout of installed files... PHP
checking path to configuration file... DEFAULT
checking where to scan for configuration files... /usr/local/php74/lib/php.conf.d
checking whether to enable PHP's own SIGCHLD handler... no
checking whether to explicitly link against libgcc... no
checking whether to enable short tags by default... yes
checking whether to enable dmalloc... no
checking whether to enable IPv6 support... yes
checking whether to enable DTrace support... no
checking how big to make fd sets... using system default

Configuring extensions
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking for strtoll... yes
checking for atoll... yes
checking whether to build with LIBXML support... yes
checking for libxml-2.0 >= 2.7.6... yes
checking for OpenSSL support... yes
checking for Kerberos support... yes
checking whether to use system default cipher list instead of hardcoded value... no
checking for krb5-gssapi krb5... no
configure: error: Package requirements (krb5-gssapi krb5) were not met:

No package 'krb5-gssapi' found
No package 'krb5' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables KERBEROS_CFLAGS
and KERBEROS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Done!
 
Thanks for the reply Martynas!
When i Google "krb5-devel", i read it is for: Development files needed to compile Kerberos 5 programs.

Just for my learning, may i ask how this is related to php7.4?

Btw, on my litespeed server, this wasn't needed and php7.4 just worked after install.
 
On those systems you might have had it already, check:
rpm -q krb5-devel

Regarding relation - see your PHP message above:
Code:
checking for krb5-gssapi krb5... no
 
Indeed, the litespeed server's response: "krb5-devel-1.15.1-37.el7_7.2.x86_64"

But, when running "yum -y install krb5-devel" on the 'affected server', i get:

Code:
Package krb5-devel-1.10.3-65.el6.x86_64 already installed and latest version
Nothing to do
 
Any ideas?

In the "Service Monitor", it says: "php-fpm74 Process is stopped"

When i press start, it says:

Cannot find the script​
Details
/etc/init.d/php-fpm74​
 
Last edited:
Is it CentOS6? If not, I guess you may have systemd=0 set in directadmin.conf. Or PHP didn't compile successfully?
 
Yep. CentOS 6.

"I guess you may have systemd=0 set in directadmin.conf."
> Nope 'systemd' not even present in directadmin.conf

Or PHP didn't compile successfully?
> Seems like it. But have re-built PHP a few times already from custombuild > Build software > Build PHP
 
It won't work until compilation succeeds. If you'd like me to check why it fails - feel free to create a ticket/PM on this, that's free of charge.
 
Ok, thanks! I'll send an email to your support@. Wonder what is going on here..
I see you have a new website, nice!
 
Kerberos issue solved in CB 2.0 rev. 2335 for CentOS6. Please note default installation of sqlite3 on CentOS6 provides version too low for PHP 7.4:
Code:
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
Requested 'sqlite3 > 3.7.4' but version of SQLite is 3.6.20

So, it'd need to be updated for PHP 7.4 to work :)
 
Aha. That explains. Is it advisable / easy to upgrade CentOS on such an instance?

And what about CentOS 6.5, should it work on it? As I have another instance running 6.5 with similar issues.
 
Kerberos issue solved in CB 2.0 rev. 2335 for CentOS6. Please note default installation of sqlite3 on CentOS6 provides version too low for PHP 7.4:
Code:
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
Requested 'sqlite3 > 3.7.4' but version of SQLite is 3.6.20

So, it'd need to be updated for PHP 7.4 to work :)

What is the best way to update sqlite via DirectAdmin?
Is this possible via custombuild?
 
Hi there, same issue here. Centos 6.5, already has krb5 installed. On php 7.3 right now but can't seem to update to 7.4 either in console or in custombuild 2.0 plugin. Any tips? thanks
 
as of 2022, the best tip for EL 6 users would be to migrate over to a supported version of linux.

as i don't have such environment to test, my best bet would be to try updating with the vault repository
 
Back
Top