Skip to content

checkdnsrr/dns_check_record works in CLI but not in mod_php on macOS #18548

Open
@VanessaPhippsCfa

Description

@VanessaPhippsCfa

Description

The following code:

<?php
$result = checkdnsrr('google.com', 'A');
var_dump($result);

Resulted in this output:

bool(false)

But I expected this output instead:

bool(true)

3v4l link: https://3v4l.org/mchKq

3v4l also seems unable to get "true" out of this. However, this works fine on my machine:

/opt/homebrew/bin/php -r '$result = checkdnsrr("google.com", "A"); var_dump($result);'

My Rocky 6 production server (yes we're upgrading) also gets true for this code, even in mod_php.

I initially spotted this behavior in 7.4, but verified it's present on 8.4 as well.

PHP Version

PHP 8.4.7 (cli) (built: May  6 2025 12:31:58) (NTS)
Copyright (c) The PHP Group
Built by Homebrew
Zend Engine v4.4.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.7, Copyright (c), by Zend Technologies

Here's the top of the mod_php phpinfo() output:

PHP Version 8.4.7

System Darwin Vanessas-MacBook-Pro.local 24.4.0 Darwin Kernel Version 24.4.0: Fri Apr 11 18:33:47 PDT 2025; root:xnu-11417.101.15~117/RELEASE_ARM64_T6030 arm64
Build Date May 6 2025 12:31:58
Build System Darwin Sequoia-arm64.local 24.4.0 Darwin Kernel Version 24.4.0: Fri Apr 11 18:33:24 PDT 2025; root:xnu-11417.101.15~117/RELEASE_ARM64_VMAPPLE arm64
Build Provider Homebrew

Operating System

macOS Sequoia 15.4.1 on ARM (Apple M3 Pro)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions