Ben, belirli bir uzaklık gelen PHP Linux more komutu sonucu biçimlendirmek ve tarayıcıda sonucu görüntülemek zorunda.
Için yukarıda benim kod:
<html>
<head>
<META HTTP-EQUIV=REFRESH CONTENT=10>
<META HTTP-EQUIV=PRAGMA CONTENT=NO-CACHE>
<title>Runtime Access log</title>
</head>
<body>
<?php
$moreCommand = "more +3693 /var/log/apache2/access_log | grep -v -e '.jpg' -e '.jpeg' -e '.css' -e '.js' -e '.bmp' -e '.ico'| wc -l";
exec($moreCommand, $accessDisplay);
echo "<br/>No of lines are : $accessDisplay[0] <br/>";
?>
</body>
</html>
Tarayıcıda çıktı: çizgilerin yok şunlardır: 3428 (Bu yanlış)
Komut satırını kullanarak aynı komutu çalıştırarak farklı bir çıkış verir iken. Aynı benim kod parçacığını:
<?php
$moreCommand = "more +3693 /var/log/apache2/access_log | grep -v -e '.jpg' -e '.jpeg' -e '.css' -e '.js' -e '.bmp' -e '.ico'| wc -l";
exec($moreCommand, $accessDisplay);
echo "No of lines are : $accessDisplay[0] \n";
?>
Komut satırında çıktı: (Bu doğru) 279: çizgilerin yok olan
Doğrudan komut satırına aynı komutu yürütülürken, 279 gibi bana çıkış verir.
Ben aynı komutun çıktısı tarayıcıda neden yanlış olduğunu anlamak mümkün. Onun aslında offset parametresini görmezden hatlarının kelime sayısını veriyor.