title: PHP web service, send response before end of script execution
body: <p>I have a web service written in PHP to which an iPhone app connects to. When the app calls the service, a series of notification messages are sent to Apple's APNs server so it can then send Push Notifications to other users of the app.</p>
  
  <p>This process can be time consuming in some cases and my app has to wait a long time before getting a response. The response is totally independent of the result of the notification messages being sent to the APNs server. </p>
  
  <p>Therefore, I would like the web service to send the response back to the app regardless of whether the messages to APNs have been sent.</p>
  
  <p>I tried using pcntl_fork to solve the problem:</p>
  
  <pre><code>&lt;?php
  ...
  $pid = pcntl_fork();
  if($pid == -1) 
  {
      // Could not fork (send response anyway)
      echo "response";
  } 
  else if($pid) 
  {
      // Parent process - send response to app
      echo "response";
  } 
  else 
  {
      // Child process - send messages to APNs then die
      sendMessageAPNs($token_array);
      die();
  }
  ?&gt; // end of script
  </code></pre>
  
  <p>Unfortunately, the parent process seems to wait for the child process to end before sending the response even though I do not use pcntl_wait in the parent process. Am I doing something wrong or is this normal behaviour? If this is normal then is there another way I can solve this problem?</p>
  
  <p>Thank you!</p>