PHP exec Nutch komutu ile çalışan Problem ()

2 Cevap php

Benim Nutch dizin / home/myserv/nutch/nutch-1.0 / yatıyor

Benim php applictaion / diretcory / home / myserv / www olduğunu

Orada bir nutch command.PHP kod çalıştırmak için exec komutu çalıştırır benim / home / myserv / www / diretcory aa php dosya gibidir:

$ Çıkış = exec ("bin / nutch tüm");

Ben "/ home/myserv/nutch/nutch-1.0 /" dizininde olması gereken komut satırından komutu çalıştırdığınızda

Ben php exec (), sadece can aracılığıyla çalıştırmak için çalışıyorum zaman yürütmek yapmak gibi görünüyor.

(Aşağıda) gibi ful yol vererek denedim ama hiçbir şey çalışır: (

$output = exec("/home/myserv/nutch/nutch-1.0/bin/nutch all");

Umutsuzca yardım arıyor

2 Cevap

/ Home / altında dizinleri genellikle iyi mutlak yol başvuru gerçekten tüm yol kapta gidebilirsiniz emin olmak için izinleri kontrol, diğerlerine karşı korunmaktadır.

Bazı sorunlar var burada.

  1. Bir komut dosyası yürütülürken, o anki çalışma dizini ne olacağını tahmin etmek zor, bu yüzden tam yolunu kullanmak en iyisidir.

  2. PHP komut dosyası Apache değil sizin tarafınızdan, altında çalışır kullanıcı tarafından yürütülüyor olduğunu unutmayın. Yani Apache kullanıcı (dağıtımı ve Apache sürümüne bağlı olarak farklı bir ad olabilir ki) Nutch komut dosyasını çalıştırmak için izni olduğundan emin olun, ve / Tümünü okumak Nutch veri dosyaları yazmak.

  3. 'Hepsi' nutch komutu için geçerli bir seçenek değil, o yüzden bunu yapmak için çalışıyoruz ne olduğundan emin değilim.