PHP - Readport issues

You don't need a delay on the Arduino. It's going to take long enough resetting, as it is.

After you send data to the Arduino, you need to sleep() long enough for the Arduino to reset, read the data that was sent, and generate a response.

Or, you might want to look at some of the ways of preventing the Arduino from resetting.
http://arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection