Eğer bir Linux sunucu ve root erişimi varsayarsak, bu deneyin. Ben bulduk basit bir çözümdür.
Aşağıdaki dosyalar için yeni bir dizin oluşturun ve bunu tüm izinleri verin. (Biz daha sonra daha güvenli hale getirebilirsiniz.)
mkdir test
chmod -R 777 test
cd test
Adlı bir dosyaya koymak bgping
.
echo starting bgping
ping -c 15 www.google.com > dump.txt &
echo ending bgping
Note the &
. The ping command will run in the background while the current process moves on to the echo command.
It will ping www.google.com 15 times, which will take about 15 seconds.
Çalıştırılabilir hale.
chmod 777 bgping
Adlı bir dosyaya koymak bgtest.php
.
<?php
echo "start bgtest.php\n";
exec('./bgping', $output, $result)."\n";
echo "output:".print_r($output,true)."\n";
echo "result:".print_r($result,true)."\n";
echo "end bgtest.php\n";
?>
When you request bgtest.php in your browser, you should get the following response quickly, without waiting about
15 seconds for the ping command to complete.
start bgtest.php
output:Array
(
[0] => starting bgping
[1] => ending bgping
)
result:0
end bgtest.php
Ping komutu artık sunucu üzerinde çalışan olmalıdır. Bunun yerine ping komutu, bir PHP komut dosyası çalıştırabilir:
php -n -f largejob.php > dump.txt &
Bu yardımcı olur umarım!