Undocumented: challenge hangs for dns-01 on the apex domain w/ valid http-01

Aha, so that's interesting because the other thread I linked to above where there was a confusion about challenge state also involved acmephp. Overall I'm feeling confident the diagnosis of a "hung" or stuck challenge isn't at fault here and it's a client quirk.

That makes sense given the code linked. It will poll a specific challenge URL without paying attention to the state of the associated authorization.

In the coming week or two we'll be shipping a change on the ACME server side that will remove the unused pending challenges from valid or invalid authorizations. I think this may also solve the problem you're experiencing. I'll make a note to try and update this thread when the change is live in the staging environment so that you can test explicitly.

Thanks for following up with more detail.