exec () fonksiyonu svn checkout kural yok

1 Cevap php

Ben bir svn sorgulamak için exec () kullanarak php bazı fonksiyonları yazıyorum.

The commands exec("svn list ".$myurl) works.

Now, I try to get a path on a svn repository with the checkout command. When I put the command "svn checkout http://core.wordress.org/tags/2.9.2/ last-version" directly in the console, it works.

Ama ben böyle exec kullanarak bir php komut dosyası (), bu yaptığınızda:

exec("svn checkout ".$myurl, $dir)

çalışmıyor.

Size bir fikir var?

1 Cevap

Bu nedenlerle çeşitli olabilir.

  • PHP altında çalışır kullanıcı içine kontrol etmek istediğiniz dizine yazmaya izin verilmez

  • SVN deposu PHP altında çalıştığı kullanıcı için önbelleğe değildir oturum açma bilgilerini gerektirir

  • SVN çıkış işlemi başlar, ancak gibi bazı ek giriş gerektirir korkunç imzasız sertifikalarla "Bu sertifikayı kabul etmek istiyor musunuz".

Stdout stderr'yi yönlendirmek için komuta 2>&1 eklemeyi deneyin, ve $dir bakabilirsiniz. Ayrıca exec() için $return_var parametresinin yararlanabilirler.

Jacob de belirttiği gibi, her zaman komutun için escapeshellargs() kullanın.