2014-11-13 2 views
0

아래의 php 버전이 제 리눅스 서버에 설치되어 있습니다.PHP 버전 5.6.2에 스레드 안전성을 활성화하십시오.

<?php 
class AsyncOperation extends Thread { 

public function __construct($arg) { 
    $this->arg = $arg; 
} 

public function run() { 
    if ($this->arg) { 
     $sleep = mt_rand(1, 10); 
     printf('%s: %s -start -sleeps %d' . "\n", date("g:i:sa"), $this->arg, $sleep); 
     sleep($sleep); 
     printf('%s: %s -finish' . "\n", date("g:i:sa"), $this->arg); 
    } 
} 
} 

// Create a array 
$stack = array(); 

//Iniciate Miltiple Thread 
foreach (range("A", "D") as $i) { 
$stack[] = new AsyncOperation($i); 
} 

// Start The Threads 
foreach ($stack as $t) { 
$t->start(); 
} 
?> 

내 PHP 설치에 대한 스레드 안전을 활성화해야합니다 -

enter image description here

는 지금은 아래의 프로그램을 실행합니다. 누군가 내가 어떻게 그렇게 할 수 있는지 알려줄 수 있습니까?

+0

같은 문제에 대해이 인터넷 검색 결과가 없습니다. 해결책을 찾았습니까? –

+0

안녕하세요. 간단하고 쉬운 방법은 없습니다. 가장 좋은 방법은 Thread Safety Installer에서 PHP를 다시 설치하는 것입니다. – ifti24

+0

네, 그게 주어진 것입니다 :-) 나는 의미했다 : 어딘가에 TS 패키지를 찾았습니까? –

답변

0

좋아, I asked the package maintainer :

당신이 PHP의 버전을 스레드 사용하려는 경우, 당신은 당신의 자신에 있습니다. 특정 환경에서 정상적으로 작동하지만 외부에서 모듈을로드하는 것을 포함하여 모든 가능한 시나리오에서 스레드 안전성이 보장되지 않으므로 일반 용도의 "스레드 안전 패키지"를 제공하는 것은 현명하지 않습니다.

그래서, 방법 아웃 : -/

관련 문제