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

From: Date: Tue, 18 Sep 2018 13:35:30 +0000
Subject: Bug #76899 [ReO]: pcntl_async_signals not available in phpdbg
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-217116@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
 Updated by:         cmb@php.net
 Reported by:        kaplun at protonmail dot com
 Summary:            pcntl_async_signals not available in phpdbg
 Status:             Re-Opened
 Type:               Bug
 Package:            phpdbg
 Operating System:   CentOS 7
 PHP Version:        7.2.10
 Block user comment: N
 Private report:     N

 New Comment:

Seems my quick assessment above was wrong.  I've just build with
`./configure --disable-all --disable-cgi --enable-debug
--enable-pcntl` and ext/pcntl is available for phpdbg (without the
PR).


Previous Comments:
------------------------------------------------------------------------
[2018-09-18 12:55:26] kaplun at protonmail dot com

P.s.

Thanks cmb@php.net for the pointers!

------------------------------------------------------------------------
[2018-09-18 12:54:39] kaplun at protonmail dot com

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

------------------------------------------------------------------------
[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.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=76899


--
Edit this bug report at https://bugs.php.net/bug.php?id=76899&edit=1


Thread (12 messages)

« previous php.bugs (#217116) next »