PCntl_fork'un WAMP'ta çalışması için bir yol var mı? Forking çözümü geliştirmem ve yerel olarak test etmem gerekiyor.WAMP ve pcntl_fork
cevap
Hayır, bu mümkün değil. PCNTL uzantısı, * nix platformları gerektirir.
Şimdi, bununla birlikte, ne yapmaya çalışıyorsunuz, ve bunu çözmeden çözebilir misiniz ...?
Düzenleme: başlatılması arka plan süreçlerine Bazı alternatifler:
Unix/Linux:
exec('nohup php yourscript.php > /dev/null 2>&1 &');
, Windows; http://msdn.microsoft.com/en-us/library/d5fk67ky(v=vs.85).aspx
Eşzamanlı işlemlerin çalışmasına ihtiyacım var. Ben cron kullanarak (ve çalışan süreçlerin sayısını yönetmek için DB kullanarak) uygulayabilirsiniz. Ancak, 10 eşzamanlı işlemin çalışmasını istediğimi varsayalım, 10 sayfalık tüm komut dosyalarını çalıştırabilmek için belirli bir betiği 10 kez (1 dakikalık artışlarla) çağırmak için cron'a ihtiyacım var (yani, 10 dakika önce İstenen eş zamanlı script sayısını elde ediyorum). Alternatif olarak, "kukla" işlevlerim aynı betiği çağırır (örn. Foo_1 foo çağrıları, foo_2 çağrıları foo, vb.) Ve her dakika cron çağrı foo_1, foo_2, vb. Kludgy gibi görünüyor. – StackOverflowNewbie
@Stack: Arka plan görevlerini başlatmanın birden fazla yolu var. İşlemleri kesmek için linux üzerinde 'nohup 've' & 'kullanabilirsiniz veya COM WScript: http://msdn.microsoft.com/en-us/library/d5fk67ky(v=vs.85).aspx object arka plan görevlerini başlat ... – ircmaxell
@Stack: cevabı düzenledim – ircmaxell
sözde kod çözümü:
argümanlar hakkında ayrıntılı bilgileri$com = new Com('WScript.shell');
$com->run('php yourscript.php', 10, false);
, bkz Bu zaten yanıtlandı
while (TRUE)
{
$process_limit = get_process_limit();
$process_count = get_process_count();
if process count < process limit:
{
// get_row returns a row (as an array) from the DB that needs to be processed
$row = get_row();
if($row === array())
{
// Nothing to process; sleep
sleep(2);
}
else
{
// Process row
process_count(+1);
process_row($row);
process_count(-1);
}
}
elseif process count === process limit
{
// Do not add to the process
exit;
}
elseif process count > process limit
{
// Means the process limit was decreased
// Terminate this process instance
process_count(-1);
exit;
}
}
ama benim 2p eklemek düşündüm .
Windows'ta php ile pcntl-fork'u cygwin kullanarak alabilirsiniz.
Yüklemek gerçek bir acı, ancak benden hoşlanıyorsanız, sadece bir php cli betiğinin çalışması için en iyi seçimdir.
ben here talimat var: Sen/çalıştırmak PCNTL işlev olasılığı daha yüksektir Cygwin, altında derlemeye deneyebilirsiniz- 1. WAMP
- 2. OPCache'yi WAMP
- 3. Cep telefonu WAMP
- 4. Taşınabilir WAMP paketi?
- 5. WAMP üzerinde LDAP Auth
- 6. Wamp Sanal Ana Makine Ayarı
- 7. PHP ve Wamp Server kullanarak bir SQLite DB'yi nasıl kullanabilirim?
- 8. Wamp - php5.2 Eklentisi - Simge Kalıyor Sarı
- 9. Wamp - localhost proje dizinini www dizininde açar
- 10. MongoDB'yi php 5.3.5 & wamp ile nasıl çalıştırabilirim?
- 11. WAMP için Laravel 5 üzerine sqlite'ı nasıl yüklerim?
- 12. WAMP web sayfam hangi PHP Ini dosyasını kullanıyor?
- 13. Wamp, 500 Dahili Sunucu Hatası .htaccess dosyasında IndexIgnore etkinleştirildiğinde
- 14. Android'de SQL sorgu wamp sunucusuna rağmen İbranice harfleri tanımıyor
- 15. WAMP, Windows 7'ye nasıl bir PEAR paketi yüklüyorsunuz?
- 16. WAMP ile phpMyAdmin'e nasıl giriş yapılır, kullanıcı adı ve şifre nedir?
- 17. jdbc mysql (wamp sunucu) bağlantı sorunu ekte verdiğimiz wamp sunucuları MySQL veritabanı kavanoz dosya MySQL kavanoz v5.0.8 yanı sıra apache tomcat kütüphaneleri ile bağlanmak için çalıştı
- 18. WAMP, Windows başlatıldığında otomatik olarak başlatılır (oturum açmadan veya herhangi bir UAC paraziti olmadan)
- 19. Windows 7 için OAuth DLL'sini arıyorsunuz (WAMP Sunucusunda PHP'den kullanmanız gerekir)
- 20. html Ben php gibi html ayrıştırmak için benim .htaccess dosyasında bu pasajı kullanıyorum wamp
- 21. Windows'ta c:/wamp/logs/file üzerinde cygwin kuyruğu nasıl? Ben Cygwin kullanıyorum
- 22. Laravel Kurulumu ve .htaccess dosyası
- 23. Windows, Apache, SQL Server ve ASP veya PHP için yerel ana sunucu paketi?
- 24. php yükleme hatası
- 25. Açılış ve etiket uyumsuzluğu ve etiket rss verilerin Erken ucunu biten bu bağlantıdan RSS beslemesi ayrıştırmak çalışıyorum
- 26. Beyaz ekranlı laravel yönlendirme ve "yönlendiriliyor ..." mesajlar kopuyor Mesajlar
- 27. PHP file_exists aksanlı döndürüyor false
- 28. PHP CLI sürümünde php.ini yolunu nasıl değiştirilir?
- 29. Sphinx - Python modülleri, sınıfları ve işlevleri Dökümantasyon
- 30. html5, AJAX ve PHP kullanarak giriş yapılamıyor
. Eğer cesaretiniz varsa (ve eğer hala mevcutsa) başka bir şey de w32api uzantısıyla bir şeyler elde edebilirsiniz. – mario