Ben 2 kısa komut dosyaları var. İlk, awk komut, bir adlandırılmış yöneltme 'myfifo.dat' büyük bir dosya ve baskılar işler. İkinci, bir Perl script, bir LOAD DATA LOCAL INFILE 'myfifo.dat'...
komutu çalıştırır. Böylece gibi yerel çalıştırdığınızda bu komut her ikisi de çalışabilir:
lee.awk big.file &
lee.pl
Ancak, ben bir PHP web sayfası, adlandırılmış kanal blokları bu komut çağırdığınızda:
$awk="/path/to/lee.awk {$_FILES['uploadfile']['tmp_name']} &";
$sql="/path/to/lee.pl";
if(!exec($awk,$return,$err)) throw new ZException(print_r($err,true)); //blocks here
if(!exec($sql,$return,$err)) throw new ZException(print_r($err,true));
Ben yazdıkları böylece awk ve Perl komut dosyalarını değiştirmek ve normal bir dosyaya okursanız, her şey PHP çalışıyor. Fifo ve normal dosya üzerindeki izinleri (deneme amaçlı) 666 bulunmaktadır. Bu işlemler bir adlandırılmış kanal üzerinden çok daha hızlı koşmak, bu yüzden birini kullanmayı tercih ediyorum. Herhangi bir fikir nasıl engelini kaldırmak için?
ps. Ben tüm bu şiddetlenmesine yüzden gidiyorum durumda görmek, merak ediyorsanız this SO question.