|
You last visited: Today at 03:59
Advertisement
PHP & Asynchrone Funktionen Hilfe
Discussion on PHP & Asynchrone Funktionen Hilfe within the Web Development forum part of the Coders Den category.
11/13/2020, 12:09
|
#1
|
elite*gold: 0
Join Date: Mar 2011
Posts: 416
Received Thanks: 17
|
PHP & Asynchrone Funktionen Hilfe
Guten Tag,
ich prüfe Seiten ob du in einer Spam-Liste sind. Ich habe jetzt beispielsweise 10 Spam-Listen und für jede Liste muss eine Funktion abgefragt werden (checkdnsrr).
Bsp:
Code:
[PHP]
$hostnames = [
"dnsbl-1.uceprotect.net",
"dnsbl-2.uceprotect.net",
"dnsbl-3.uceprotect.net",
"dnsbl.dronebl.org",
"dnsbl.sorbs.net",
"zen.spamhaus.org",
"bl.spamcop.net",
"list.dsbl.org",
"all.s5h.net",
"blacklist.woody.ch",
];
$ip = "82.165.229.138";
$reverse_ip = implode(".", array_reverse(explode(".", $ip)));
foreach($hostnames as $hostname) {
if (checkdnsrr($reverse_ip . "." . $hostname . ".", "A")) {
$hosts[] = $hostname;
}
}
[/PHP]
Dies bräuchte 10-15sek zeit. Ich hab aber gehört es gibt auch libarys wo man die Funktion asynchron nutzen kann. Das alle Funktionen gleichzeitig laufen und man nicht 10-15sek warten muss sondern max 1-2sek.
Hab mir die libary geholt (  ) nur weiß ich echt nicht wie ich das jetzt mit meinem Skript einfüge.
Würde auch eine kleinigkeit spenden für eine erfolgreiche Hilfe (200 e*Gold).
|
|
|
11/18/2020, 15:38
|
#2
|
elite*gold: 0
Join Date: Oct 2012
Posts: 71
Received Thanks: 24
|
Das last sich sehr einfach mit Ajax realisieren. Dabei wird, wären der Eingaben in Hintergrund die Prüfung abgearbeitet.
|
|
|
11/18/2020, 18:55
|
#3
|
elite*gold: 0
Join Date: Mar 2011
Posts: 416
Received Thanks: 17
|
Quote:
Originally Posted by _robox
Das last sich sehr einfach mit Ajax realisieren. Dabei wird, wären der Eingaben in Hintergrund die Prüfung abgearbeitet.
|
Ich glaube du meinst etwas anderes damit^^. Es geht um die Funktion checkdnsrr, dass alle Blacklists mit checkdnsrr gleichzeitig gestartet werden. Bei mir ist das Problem, es gibt keine festen Blacklists, es können auch 100 Blacklists einträge in den array drinne sein
|
|
|
11/18/2020, 21:02
|
#4
|
elite*gold: 0
Join Date: Oct 2012
Posts: 71
Received Thanks: 24
|
Wenn ich dich richtig versteh, möchtest du abfragen, ob eine Domain oder IP auf einer Backlist gelistet ist.
Und du willst alle abfragen auf einmal machen das ist nach meine wissen stand nicht möglich die Ursache liegt in der Arbeitsweise von PHP.
Einzige Möglichkeit ist es, die aufgab parallel in Hintergrund abzuarbeiten das muss aber irgendwie angestoßen werden. Dazu ist Ajax bestens geeignet.
Bei mir lauft dein Code übrigens mit 225ms ab, wen bei dir der Code 10-15s benötigt hat das ganz bestimmt andere Ursachen.
|
|
|
11/22/2020, 16:23
|
#5
|
elite*gold: 133
Join Date: May 2007
Posts: 506
Received Thanks: 194
|
Weiß nicht ob es hilft...
aber dieses Repository sollte helfen können.
Siehe Repository für Beschreibung

|
|
|
11/23/2020, 21:30
|
#6
|
elite*gold: 0
Join Date: Mar 2011
Posts: 416
Received Thanks: 17
|
Quote:
Originally Posted by Hyukisawa
Weiß nicht ob es hilft...
aber dieses Repository sollte helfen können.
Siehe Repository für Beschreibung
 
|
Nutze derzeit  .
Es funktioniert auch, aber das komische nur bei XAMPP. Wenn ich die Sachen auf Filezilla ziehe und es auf mein Webhoster versuche bekomme ich diese Fehlermeldung.
PHP Code:
<?php
require __DIR__ . '/../vendor/autoload.php';
use Amp\Parallel\Worker; use Amp\Promise;
$urls = [ 'https://secure.php.net', 'https://amphp.org', 'https://github.com', ];
$promises = []; foreach ($urls as $url) { $promises[$url] = Worker\enqueueCallable('file_get_contents', $url); }
$responses = Promise\wait(Promise\all($promises));
foreach ($responses as $url => $response) { \printf("Read %d bytes from %s\n", \strlen($response), $url); } ?>
Worker in pool exited unexpectedly with code -1 Line 250 on vendor/amphp/parallel/lib/Worker/DefaultPool.php Worker in pool exited unexpectedly with code -1 Line 250 on
Fatal error: Uncaught Amp\Process\ProcessException: Unable to list open file descriptors in /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/process/lib/Internal/Posix/Runner.php:142 Stack trace: #0 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/process/lib/Internal/Posix/Runner.php(88): Amp\Process\Internal\Posix\Runner->generateFds() #1 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/process/lib/Process.php(108): Amp\Process\Internal\Posix\Runner->start('{ ('/usr/bin/ph...', '', Array, Array) #2 [internal function]: Amp\Process\Process->Amp\Process{closure}() #3 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/amp/lib/Coroutine.php(67): Generator->current() #4 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/amp/lib/functions.php(96): Amp\Coroutine->__construct(Object(Generator)) #5 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/process/lib/Process.php(110): Amp\call(Object(Closure)) #6 /kunden/4 in /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/parallel/lib/Context/Process.php on line 202
Das ergibt NULL sinn..... wieso funktioniert es bei xampp aber nicht auf mein webhost
|
|
|
11/24/2020, 09:44
|
#7
|
elite*gold: 0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
|
Quote:
Originally Posted by Cc_Cc_Cc
Nutze derzeit  .
Es funktioniert auch, aber das komische nur bei XAMPP. Wenn ich die Sachen auf Filezilla ziehe und es auf mein Webhoster versuche bekomme ich diese Fehlermeldung.
PHP Code:
<?php
require __DIR__ . '/../vendor/autoload.php';
use Amp\Parallel\Worker;
use Amp\Promise;
$urls = [
'https://secure.php.net',
'https://amphp.org',
'https://github.com',
];
$promises = [];
foreach ($urls as $url) {
$promises[$url] = Worker\enqueueCallable('file_get_contents', $url);
}
$responses = Promise\wait(Promise\all($promises));
foreach ($responses as $url => $response) {
\printf("Read %d bytes from %s\n", \strlen($response), $url);
}
?>
Worker in pool exited unexpectedly with code -1 Line 250 on vendor/amphp/parallel/lib/Worker/DefaultPool.php Worker in pool exited unexpectedly with code -1 Line 250 on
Fatal error: Uncaught Amp\Process\ProcessException: Unable to list open file descriptors in /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/process/lib/Internal/Posix/Runner.php:142 Stack trace: #0 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/process/lib/Internal/Posix/Runner.php(88): Amp\Process\Internal\Posix\Runner->generateFds() #1 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/process/lib/Process.php(108): Amp\Process\Internal\Posix\Runner->start('{ (' /usr/bin/ph...', '', Array, Array) #2 [internal function]: Amp\Process\Process->Amp\Process{closure}() #3 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/amp/lib/Coroutine.php(67): Generator->current() #4 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/amp/lib/functions.php(96): Amp\Coroutine->__construct(Object(Generator)) #5 /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/process/lib/Process.php(110): Amp\call(Object(Closure)) #6 /kunden/4 in /kunden/559288_442/webseiten/webhoster/parallel/vendor/amphp/parallel/lib/Context/Process.php on line 202
Das ergibt NULL sinn..... wieso funktioniert es bei xampp aber nicht auf mein webhost
|
Ich habe dir mal die relevanten Stellen Fett markiert im Zitat.
Wenn man sich gerade den zweiten Punkt anschaut mit der Kombination des Wortes "Webspace" sollte man schon eine Idee bekommen woran es liegen könnte... Wenn nicht solltest du dich mal bezüglich Sicherheit im PHP umfeld (u.a. shell exec etc) einlesen :-)
Stellst du deine Fragen eigentlich immer auf mehreren Seiten ?
|
|
|
11/24/2020, 12:23
|
#8
|
elite*gold: 0
Join Date: Mar 2011
Posts: 416
Received Thanks: 17
|
Quote:
Originally Posted by False
Ich habe dir mal die relevanten Stellen Fett markiert im Zitat.
Wenn man sich gerade den zweiten Punkt anschaut mit der Kombination des Wortes "Webspace" sollte man schon eine Idee bekommen woran es liegen könnte... Wenn nicht solltest du dich mal bezüglich Sicherheit im PHP umfeld (u.a. shell exec etc) einlesen :-)
Stellst du deine Fragen eigentlich immer auf mehreren Seiten ?

|
Danke erstmal für die Anwort. Hab mir mal shell exec durchgelesen und man wollte es ja sanitieren mit escapeshellarg. Gut zur Info hätte das nicht gewusst^^.
Und wegen den Fragen, will euch nicht jedes mal nerven mit meinen Fragen deswegen mach ich selten mal eine Frage woanders.
Ich habe in google dies hier eingegeben: Unable to list open file descriptors aber keiner hat den Fehler. Was rauskommt ist sowas: "failed too open many files". Ich weiß gar nicht was ich machen soll mit dem Fehler code oder wo ich es beheben kann. Biete auch mein e*gold an, muss das Projekt in paar Tagen abgegeben.
|
|
|
 |
Similar Threads
|
Asynchrone Verschlüsselung
06/16/2013 - General Coding - 5 Replies
Ich bin gerade ein bisschen verwirrt.
Ich habe ein Video über die "PGP" Verschlüsselung gesehen.
Dort wird in etwa erklärt was eine Asynchrone Verschlüsselung ist.
Aber ich kann einfach nicht verstehen, wie es möglich sein soll etwas mit einem Schlüssel zu verschlüsseln, und mit einem anderen unbekannten Schlüssel zu entschlüsseln.
Ich meine, zum Verschlüsseln muss man doch den Entschlüsselungskey kennen.
Oder hat derjenige im Video es einfach falsch erklärt und der Key ist der...
|
[Buying] &&&&&&&&&KAUFE STEAM ACCOUNT! &&&&&&&&&
06/07/2013 - Trading - 1 Replies
Hallo, bin nicht hier um groß zu traden,sondern möchte einen Steam Account kaufen.
Fakten:
Biete maximal 60€ PaySafeCard
Es sollten viele kleine Spiele sowie COD enthalten sein
COD 7-9 sind Pflicht!
Kein VAC/TAC/Valve o.Ä Bann!
|
&&&&&&&&&KAUFE STEAM ACCOUNT! &&&&&&&&&
06/07/2013 - elite*gold Trading - 0 Replies
Hallo, bin nicht hier um groß zu traden,sondern möchte einen Steam Account kaufen.
Fakten:
Biete maximal 60€ PaySafeCard oder kann es auch zu egold machen
Es sollten viele kleine Spiele sowie COD enthalten sein
COD 7-9 sind Pflicht!
Kein VAC/TAC/Valve o.Ä Bann!
|
All times are GMT +1. The time now is 04:00.
|
|