0
Ich habe einen Code zum Testen und ich verstehe nicht, warum es angehalten wird. Das Skript führt nur 799 Übergänge durch.PHP Thread aufhören zu arbeiten
set_time_limit(0);
ini_set('display_errors', 0);
Klasse
class CheckIpThread extends Thread {
private $ip;
public $data = null;
public function __construct ($ip_to_check) {
$this->ip = $ip_to_check;
}
public function run() {
$this->data = th($this->ip);
$this->kill;//This line probably does not matter
}
}
End-Klasse
for($a=0;$a<=2000;$a=$a+100)
{th_($a);}
function th_($co){
$threads = [];
for($a=0;$a<=100;$a++){
$thread = new CheckIpThread($co+$a);
$threads []= $thread;
$thread->start();
}
foreach ($threads as $thread) {
$thread->join();
}
foreach ($threads as $thread) {
echo_($thread->data);
}
}
function th($wsad)
{return $wsad;//}
Live viev
function echo_($text,$def=0)
{
ob_flush();
flush();
//usleep(200);
if($def===0)
{var_dump($text);}
if($def===1)
{echo($text);}
echo"</br>";
ob_end_flush();
}
//return int(0) ...int(799) and browser waiting but nothing happens
Es wurden keine Fehler gefunden. Auch wenn ich ini_set ('memory_limit', '2512M'); nichts ändern – Sasiadstar
Ich überprüfte das CLI-Skript und die Kante und es funktioniert. Aber es funktioniert nicht in Chrome anderen Browsern, die ich nicht habe. – Sasiadstar
update Ich erhöhte den Wert und sprang den Fehler. Fataler Fehler: Uncaught-Ausnahme 'RuntimeException' mit der Nachricht 'Pthreads hat festgestellt, dass der CheckIpThread nicht gestartet werden konnte, dem System fehlen die erforderlichen Ressourcen oder das vom System auferlegte Limit würde überschritten' in C: \ xampp \ htdocs \ test \ Benchmark.php: 34 Stapelverfolgung: # 0 C: \ xampp \ htdocs \ test \ Benchmark.php (34): Thread-> start() # 1 C: \ xampp \ htdocs \ test \ Benchmark.php (22): th_ (900) – Sasiadstar