I can't tell if you are saying the shutdown works or not, but since you are asking about waking them up...
The way you wake up a machine is by sending a "magic packet" out on the network. This magic packet is sent to the broadcast address and the data it contains is 6 bytes of 0xFF and 16 repetitions of the MAC address of the machine you want to wake up.
Here is a reference on PHP sockets:
PHP Sockets[
^]
Here is data on the
Wake On LAN Magic Packet[
^].
However, reading through the VMWare documentation, it seems that the virtual machine can only be resumed using WOL if the machine is in the S1 sleep mode only. Powered off or hibernated machines cannot be resumed.
Another alternative is to make a script, place it on the remote vmware server and run that when you want to start the machine up. You will probably need powershell for this and permissions to execute scripts on the remote machine.
Out of curiosity, why PHP for this? Seems like something better suited to powershell scripting directly, unless you are trying to do this through a web interface?