Neden php exec()
ile bash komutları kullanarak tutmak istersiniz?
(Ben kesinlikle liman Windows'ta çalıştırmak için olmaz) taşınabilirlik sorunu düşünmüyoruz. Bu sadece yazı el yazısı iyi bir yol meselesi.
Bir yandan:
- I need to write much more lines in php then in bash to accomplish the same task.
For example, when I need to filter some lines in a file, I just can't imaging using something instead of
cat file | grep string > new_file
. This would take much more time and effort to do in php. - Bir şeyler yanlış gidebilir zaman tüm durumları analiz etmek istemiyorum. Ben sadece kullanıcıya bash komut çıkışını gösterir, bu yüzden tam olarak ne olduğunu bilemez.
- Ben dosya sistemi fonksiyonları etrafında başka sarıcı yazmak ve kullanmak gerekmez. Bu çok daha verimli vb dosya arama, manipülasyon için OS kaldıraç olduğunu
Diğer taraftan:
- Ile unix komutunu çağırarak
exec()
çoğu verimsiz olabilir. Bu ayrı bir işlem spawn oldukça pahalıdır. Hatta çok daha az verimli komut satırı komut yumurtlama daha apache, altında çalışan komut dosyaları bahsetmiyoruz. - Bazen 'kara büyü' gibi ve perl gibi betik olarak çıkıyor. Bunu ayrıntılı yorum yoluyla önlenebilir rağmen.
- Belki sadece onlar gerekiyordu zaman birlikte iki farklı araçları kullanmak çalışıyorum. Her bir aracı, kendi uygulaması vardır ve birlikte karıştırıldı olmamalıdır.
- Kullanıcıların
exec()
, olası bir güvenlik tehdidi olan kullanarak, komut olacak kötü niyetli amaçları çalıştırmayı deneyin olmaz eminim bile. Çoğu durumda kullanıcı verileriescapeshellarg()
ile kaçtı olabilir, ama yine de dikkate almak bir konudur.