Komut satırı ile sunucu üzerinde php komut dosyasını çalıştırmak için nasıl

4 Cevap php

Ben veritabanına rss feed almak için bir php komut dosyası oluşturduk. (Yaklaşık olarak 2 milyon kayıt, 2004 yılından itibaren 2010 yılına kadar) büyük besleme veritabanına eklenecek vardır. I 24 saat, bir gün onu çalıştırmak bile bu giriş için başka bir 20-25 gün bu verileri alır şüphe ben tarayıcıda komut çalışan olmuştur ama hızı o (saniyede yaklaşık 1) ekleme olduğunu. Ben aynı anda farklı tarayıcı pencereleri çalışan denedim ve son iki gün içinde sadece 70000 kayıtları bitirdim. Ben onunla eşzamanlı 10-12 örneklerini çalıştırırsanız, sunucu nasıl tepki vereceğini emin değilim.

Müvekkilimin sonunda bir programcı i komut satırı üzerinden sunucu üzerinde doğrudan çalıştırabilir söylüyor. Herkes i komut satırı ile çalıştırmak eğer yapacak ne kadar fark söyleyebilir misiniz? Ayrıca çalıştırmak için komut satırı sözdizimi nedir? Ben apache, php / mysql duyuyorum. Ben benzer bir cevap için web üzerinde çalıştı ama ben svn depoları gibi görevleri yapmış ve geçmişte sunucuda bazı apache modülleri takarak rağmen öylesine i umut linux bir sistem yöneticisi veya o kadar iyi değilim onlar benim için oldukça kafa karıştırıcı gibi görünüyor Birisi nasıl bunu söyle eğer ben bu yönetmek olabilir.

Ben gerçekten yardıma seviniriz.

Teşekkürler,

Arvind.

4 Cevap

Hız farkı: En az. Eğer tasarruf Tüm NET I / O ve bağlantısı (ve ihmal edilebilir apache yükü) üzerinde engelliyor.

Nasıl bunu yapmak için:

bash> php -f /path/to/my/php/script.php

Sadece php5-mod paketi apache php olan yüklü olabilir, sen gerçek komut satırı yorumlayıcısı yüklemeniz gerekebilir, ancak dağıtımlardan bir sürü hem de yükleyin. Şahsen ben algoritma bir efficiency sorunumuz var. Bu önbelleğe tarafından hızlandırdı olabilir gibi günlerini alarak bir şey gibi görünüyor kötü durum performans analizi (Big-O notasyonu).

Ayrıca, php vanilya orada gerçekten hızlı yapmak için pek çok yol var, ama ağır bir hesaplama yapıyoruz, sen (muhtemelen python, c / c + + C # / Mono (Belki) düşünmelisiniz olabilir önceden, çok hızlı değil derlenmiş, aslında) çok daha hızlı olmayabilir.

Ama bu diğer satış keşif tavsiye edilir.

linux:

php -f file.php

tip

php --help 

Diğer seçenekler için

Sadece çalıştırılacak dosya adını belirtmek yeterlidir:

php -f <YourScriptHere.php>

Için documentation gör more command line options.

Komut satırında bir php komut dosyası çalıştırmak için sadece yürütme:

php yourscript.php

Eğer tutmak isterseniz arka planda çalışan bu süreç yapın:

php yourscript.php &

Daha sonra, aynı anda birden çok işlemi çalıştırabilirsiniz. Şu anda yürütmek çalışan script örneklerini tanımlamak için:

ps aux | grep yourscript.php

Eğer çok uzun sürüyor düşünüyorsanız Ancak, sizin kod herhangi bir darboğaz var olup olmadığını öğrenmek ve optimize deneyin.