Verify if the modules are installed before the nginx service during the puppet run.
If not, something like this might help:
Php::Module <||> {
notify +> Service['nginx'],
}
(I would not place such a dependency directly in the php or nginx module),
If you don't see the modules in any case, even if they are installed before the service, then give a deeper look to the logs or debug the puppet run, as the problem could not be directly related to Puppet.