[php-src] Issue #22544: Missing deprecation warning for backtick operator

[email protected] (thomas-0816) Wed, 1 Jul 2026 23:59:04 +0000
Newsgroups php.bugs
Message-ID <[email protected]>
Issue: https://github.com/php/php-src/issues/22544
Author: thomas-0816

### Description

https://wiki.php.net/rfc/deprecations_php_8_5

The following code:

```php
        <?php
        error_reporting(E_ALL);
        ini_set('display_errors', 1);
        $output = `cat /proc/cmdline`;
        echo "<pre>$output</pre>";
        $a = [null => 1];
```

Resulted in this output:
```
<pre>BOOT_IMAGE=/vmlinuz-6.17.0-35-generic root=UUID=...
</pre>PHP Deprecated:  Using null as an array offset is deprecated, use an empty string instead in /tmp/test3.php on line 6

Deprecated: Using null as an array offset is deprecated, use an empty string instead in /tmp/test3.php on line 6
```

But I expected this output instead:
```
2 deprecation warnings:
- 1 for backtick operator
- 1 for null as array-key
```


reproduce with docker:

```
# docker build --no-cache --progress plain -f Dockerfile.backtick -t pdo_duckdb_backtick .

FROM debian:trixie-slim AS base
ENV LC_ALL="C.UTF-8"
RUN <<EOF
    apt-get -y update
    apt-get -y --no-install-recommends install apt-transport-https curl ca-certificates
    echo "deb https://packages.sury.org/php/ trixie main" >/etc/apt/sources.list.d/ondrej-php.list
    curl -s https://packages.sury.org/php/apt.gpg >/etc/apt/trusted.gpg.d/php.gpg
    apt-get -y update
    apt-get -y --no-install-recommends install php8.5-cli
    php <<'EOP'
        <?php
        error_reporting(E_ALL);
        ini_set('display_errors', 1);
        $output = `cat /proc/cmdline`;
        echo "<pre>$output</pre>";
        $a = [null => 1];
EOP
EOF
```

docker output:

```
#5 26.57 Processing triggers for php8.5-cli (8.5.7-1+0~20260606.19+debian13~1.gbp741f99) ...
#5 26.64         <pre>BOOT_IMAGE=/vmlinuz-6.17.0-35-generic root=UUID=13b8fd11-c4f8-46ab-bbd2-317d909fc124 ro cryptdevice=UUID=aaf0af4f-19c6-4471-af11-e3dcbbdf0898:luks-aaf0af4f-19c6-4471-af11-e3dcbbdf0898 root=/dev/mapper/luks-aaf0af4f-19c6-4471-af11-e3dcbbdf0898 usbcore.autosuspend=-1 amd_iommu=off amdgpu.gttsize=28672 ttm.pages_limit=7340032 quiet
#5 26.64 </pre>
#5 26.64 Deprecated: Using null as an array offset is deprecated, use an empty string instead in Standard input code on line 6
#5 26.64 PHP Deprecated:  Using null as an array offset is deprecated, use an empty string instead in Standard input code on line 6
#5 DONE 26.7s
```

=> no deprecation warning for backtick operator

### PHP Version

```plain
php -v
PHP 8.5.7 (cli) (built: Jun  6 2026 05:36:56) (NTS)
Copyright (c) The PHP Group
Built by Ubuntu
Zend Engine v4.5.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.7, Copyright (c), by Zend Technologies
```

### Operating System

Ubuntu 24.04