PHP için Python os.execvp eşdeğeri

3 Cevap php

Ben bir PHP komut satırı programı çalışan var. Ve ben düz PHP mysql kabuk bağlamak istiyorum. Ben os.execvp kullanarak Python önce yaptık Ama PHP çalışmak aynı şey elde edemezsiniz.

Ben aşağıdaki fonksiyonları denedim:

  • sistem
  • Geçiş
  • exec
  • shell_exec

Örnek:

sistem('mysql -u root -pxxxx db_name');

Ama hepsi bir şey çıkmak ve geri dönmek için mysql için beklemek gibi görünüyor. PHP mysql kabuğunu başlatın ve ardından kendini bunu çıkmak için ben gerçekten ne istiyorum. herhangi bir fikir?

3 Cevap

İsterseniz kabuk etkileşimli, kullanım olmalarını emretmiştir:

system("mysql -uroot -p db_name > `tty`");

Bu çoğu için çalışacaktır, ama bir terminalde değilseniz kıracak.

MySQL ki PHP script ayrı bulunuyor çalıştırmak için bir komut verin:

system('mysql -u root -pxxxx db_name < script.mysql');

Söylediklerini acrosman ek olarak, aynı zamanda -e komut satırından SQL geçmek için geçiş kullanabilirsiniz.

$sql = ".....";
system("mysql -u root -pxxxx db_name -e \"$sql\"");

Ayrıca, ben senin aslında bir PHP uygulama root olarak veritabanına bağlanırken değil umuyoruz.