Bug #76899 [Nab]: pcntl_async_signals not available in phpdbg

From: Date: Tue, 18 Sep 2018 12:54:39 +0000
Subject: Bug #76899 [Nab]: pcntl_async_signals not available in phpdbg
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-217112@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76899&edit=1 ID: 76899 User updated by: kaplun at protonmail dot com Reported by: kaplun at protonmail dot com Summary: pcntl_async_signals not available in phpdbg Status: Not a bug Type: Bug Package: phpdbg Operating System: CentOS 7 PHP Version: 7.2.10 Block user comment: N Private report: N New Comment: I am trying to connect a GitHub PR to this issue, but the bug-tracking is giving me error 500 :-( So the PR is here: https://github.com/php/php-src/pull/3534 Previous Comments: ------------------------------------------------------------------------ [2018-09-18 12:04:34] kaplun at protonmail dot com > The php.ini you see is actually provided by way of php7.2-common's php.ini-production. We > can't do anything for it. This is true for Ubuntu. On CentOS7/Webtatic instead they are not explicitly disabled, and that what leads to: [Uncaught Error in /tmp/test.php on line 2] Error: Call to undefined function pcntl_async_signals() in /tmp/test.php:2 Stack trace: #0 {main} So either webtatic "forgot" to enable pcntl_async_signals during phpdbg compilation, or there's a general reason why this can not be available in phpdbg at all, which bring me to the reason why opened the bug report in the first place: there's no documentation around stating that phpdbg does not support pcntl_async_signals (at least I wasn't able to find it), however both on CentOS and Ubuntu this is not an available feature (either not compiled in, or explicitly disabled). Is this: * a bug (for CentOS/Ubuntu) * a missed documentation (for PHP.net as a whole and/or phpdbg) * a missing feature (for PHP.net as whole and/or phpdbg) ------------------------------------------------------------------------ [2018-09-18 12:01:41] cmb@php.net ext/pcntl declares itself to be a cli only extension[1]. cli only extensions can presently only be enabled for cli, cgi and embed[2], which might have been an oversight. [1] <https://github.com/php/php-src/blob/php-7.3.0RC1/ext/pcntl/config.m4#L27> [2] <https://github.com/php/php-src/blob/php-7.3.0RC1/acinclude.m4#L974-L982> ------------------------------------------------------------------------ [2018-09-18 11:52:53] requinix@php.net The php.ini you see is actually provided by way of php7.2-common's php.ini-production. We can't do anything for it. https://packages.ubuntu.com/bionic/php7.2-phpdbg https://packages.ubuntu.com/bionic/php7.2-common You could make a bug report for -phpdbg to do something else. Or for -common to document why those functions are disabled, which is almost definitely for security and/or technical reasons. ------------------------------------------------------------------------ [2018-09-18 09:11:10] kaplun at protonmail dot com Note that what I reported was found out on webtatic repo. On Ubuntu 18.04, the functions are explicitly disabled for phpdbg in /etc/php/7.2/phpdbg/php.ini disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, However nowhere it is explained why these are disabled. ------------------------------------------------------------------------ [2018-09-18 09:04:35] kaplun at protonmail dot com Description: ------------ pcntl_async_signals(), although available in the PHP interpreter is not available under phpdbg. Test script: --------------- <?php echo pcntl_async_signals($on=1); echo pcntl_async_signals(); Expected result: ---------------- Running: phpdbg -qrr test.php I expect it to output "1". Actual result: -------------- [Uncaught Error in /tmp/test.php on line 2] Error: Call to undefined function pcntl_async_signals() in /tmp/test.php:2 Stack trace: #0 {main} ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=76899&edit=1

« previous php.bugs (#217112) next »