Re: Re: Pass variable to pcntl_fork child
| From: | Jim Lucas | Date: | Wed, 02 Jul 2014 21:34:13 +0000 |
| Subject: | Re: Re: Pass variable to pcntl_fork child | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-323600@lists.php.net to get a copy of this message | ||
On 07/02/2014 07:41 AM, Jim Giner wrote:
On 7/2/2014 5:40 AM, Uggla Henrik wrote:If you don't understand this, please read this page: http://www.php.net/manual/en/function.pcntl-fork.phpHi! I've tried the following code but the $call variable is not available in the pcntl_fork child. Searching the web, I've found posts that claim that all variables defined before pcntl_fork are copied to the child. I've also found posts that claim that no variables are passed/copied to the child. So, which of them is true and how should I correct my code to make it work? regards Henrik1 What's a child?$call = str_replace('@@', '&', $_GET['call']);if ($pid = pcntl_fork()) { $previousCalls=file("calls.txt", FILE_IGNORE_NEW_LINES |FILE_SKIP_EMPTY_LINES);if (!in_array($call, $previousCalls)) { file_put_contents("calls.txt", $call."\n", FILE_APPEND); } } else { function displayUrl($url) { $ch = curl_init($url); curl_setopt ( $ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $curlResult = curl_exec($ch); curl_close($ch); list($headers,$content) = explode("\r\n\r\n",$curlResult,2); foreach (explode("\r\n",$headers) as $hdr) { if ($hdr != 'Transfer-Encoding: chunked') { header($hdr); } } echo $content; } displayUrl($call); }
2 You must use == in your if condition.Look at the first example on the above page.
3 ??? Why do you have a function defined in your else clause???The only reason I can think of would be to isolate the inside code from the work. But, this could also lead to the missing variable issue the OP is asking about. -- Jim Lucas http://www.cmsws.com/ http://www.cmsws.com/examples/