We have an issue with pcntl support for PHP 8.4

SanderJ

Verified User
Joined
Feb 22, 2023
Messages
25
We have an issue with pcntl support for PHP 8.4:

I have added
Code:
--enable-pcntl
to
Code:
/usr/local/directadmin/custombuild/custom/php/configure.php84
, and did a new build for php.
Custombuild logs shows:

checking whether to enable pcntl support... yes
Also, the custom php84 config file is used by DirectAdmin:

[root@server1 ~]# da build used_configs
PHP 8.4 php.ini file: /usr/local/php84/lib/php.ini
PHP 8.4 configuration file: /usr/local/directadmin/custombuild/custom/php/configure.php84

But after the rebuild, there is no pcntl support for php8.4. This sollution works fine for php8.2 / php8.3.

DirectAdmin: v1.675 bcd6e3bf4a4dbfaeb423aae49ad2a0fd77206d7f
OS: AlmaLinux release 8.10 (Cerulean Leopard)
 
But after the rebuild, there is no pcntl support for php8.4. This sollution works fine for php8.2 / php8.3.


It should work. I've got it working on AlmaLinux release 8.10. How do you check its working on your end?
 

Attachments

  • 2025-04-18 19.07.14_.png
    2025-04-18 19.07.14_.png
    59.3 KB · Views: 8
Bash:
[root@server1 ~]# php -v
PHP 8.4.5 (cli) (built: Apr 14 2025 10:39:21) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.5, Copyright (c), by Zend Technologies

[root@server1 ~]# php -i | grep pcntl

[root@server1 ~]# php -i | grep configure
Configure Command =>  './configure'  '--with-pic' '--enable-embed' '--prefix=/usr/local/php84' '--enable-fpm' '--with-fpm-systemd' '--enable-litespeed' '--with-config-file-scan-dir=/usr/local/php84/lib/php.conf.d' '--with-curl' '--enable-gd' '--with-gettext' '--with-jpeg' '--with-freetype' '--with-ffi' '--with-openssl' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-pear' '--with-sodium' '--with-webp' '--with-xsl' '--with-zlib' '--with-zip' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-shmop' '--enable-sysvshm' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sockets' '--enable-soap' '--enable-mbstring' '--enable-intl' 'PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:'


Bash:
[root@server1 ~]# cat /usr/local/directadmin/custombuild/custom/php/configure.php84
#!/bin/sh

# Add stack canaries
export CFLAGS="${CFLAGS} -fstack-protector-strong"

# Fortify core stdlib functions
export CFLAGS="${CFLAGS} -D_FORTIFY_SOURCE=1 -O1"

./configure \
        --with-pic \
        --enable-embed \
        --prefix=/usr/local/php84 \
        --program-suffix=84 \
        --enable-fpm \
        --with-fpm-systemd \
        --enable-litespeed \
        --with-config-file-scan-dir=/usr/local/php84/lib/php.conf.d \
        --with-curl \
        --enable-gd \
        --with-gettext \
        --with-jpeg \
        --with-freetype \
        --with-ffi \
        --with-openssl \
        --with-mysql-sock=/var/lib/mysql/mysql.sock \
        --with-mysqli=mysqlnd \
        --with-pdo-mysql=mysqlnd \
        --with-pear \
        --with-sodium \
        --with-webp \
        --with-xsl \
        --with-zlib \
        --with-zip \
        --enable-bcmath \
        --enable-calendar \
        --enable-exif \
        --enable-ftp \
        --enable-shmop \
        --enable-sysvshm \
        --enable-sysvmsg \
        --enable-sysvsem \
        --enable-sockets \
        --enable-soap \
        --enable-mbstring \
        --enable-intl \
        --enable-pcntl


Bash:
[root@server1 ~]# da build used_configs
Nginx configuration file: /usr/local/directadmin/custombuild/custom/nginx/configure.nginx
PHP 8.3 php.ini file: /usr/local/php83/lib/php.ini
PHP 8.3 configuration file: /usr/local/directadmin/custombuild/custom/php/configure.php83
PHP 8.4 php.ini file: /usr/local/php84/lib/php.ini
PHP 8.4 configuration file: /usr/local/directadmin/custombuild/custom/php/configure.php84
ProFTPD configuration file: /usr/local/directadmin/custombuild/configure/proftpd/configure.proftpd
ImageMagick configuration file: /usr/local/directadmin/custombuild/configure/imagemagick/configure.imagemagick
Exim Makefile: /usr/local/directadmin/custombuild/configure/exim/MakefileDovecot configuration file: /usr/local/directadmin/custombuild/configure/dovecot/configure.dovecot
phpMyAdmin configuration file: /usr/local/directadmin/custombuild/configure/phpmyadmin/config.inc.php

I have the same custom config for php8.3, and that is working just fine.

Looking at the build date of php8.4, it seems that the binary was not rebuild. It should be dated to April 17th. Custombuild logs show "Build complete." and no errors on the last build.
 
Last edited:
Back
Top