We have implemented several push servers and all of them following the old tuple "socket-certificate".In Java (1.5 - 1.7).
To work with certificates has some disadvantages. For instance, we need one for each environment (test, pro, etc). You have to be methodic at managing them or it's quite easy to end up with the wrong cert in pro. Or to forget its renewal (they also expire).
Related to the socket, this approach requires having opened a specific range of ports in the firewall.
Related to the whole protocol of communication. You get so little info after pushing messages. It's hard to figure out what happened with the messages. The only way is to retrieve messages from the queue of responses. A queue which orders is not guaranteed. Neither when APNS is going to put the responses onto it. It might not happen at all.
Compared to GCM (Google cloud message which runs via HTTP), the "socket-cert" of APNS is a pain in the ...
My suggestion is to get focus on the HTTP 2 - JWT protocol. This is a very common implementation of security in client-server communications. You will find many more references about http2 and JWT than looking for APNS sockets and Certs.
Security via JWT is commonly implemented these days. There is full support from the community.
Moreover, If they have planned to drop the support to the current implementation, why even to dare to try it? Why spend time and money twice?
Be preventive. Implementing HTTP2 - JWT approach will save you from further code reviews and refactors. In any case, it's a work to do, so better have it done sooner than later.
Related to the library CleverTap. Well nobody is stopping you from implementing your own client! Suited to your need and requirements.
This has been our case with our current engine. We discarded all the 3rd party implementations and built our own. So far I know it keeps working perfectly... Till Apple drops the service.
(If we didn't move yet to HTTP2 - JWT is due to time and money)
There's perhaps alternatives. Google Firebase Cloud Message is multi-platform. So you can push messages to Android and iOs devices from the same service. It works over HTTP and API keys (tokens). I suggest to you to take a look.
Best Answer
I don't think PHP is the way to go here, what your writing is backend code. I have written something very similar to this. I used ruby, eventmachine, em-http-request and beanstalkd. It worked well and was dead simple.