2016-12-30 32 views
5

PowerBI için PHP sarıcı oluşturmaya çalışıyorum. Yerel ağımda PowerBI Cli (https://github.com/Microsoft/PowerBI-Cli) yükledim ve terminalimde herhangi bir PowerBI Cli komutu çalıştırdığımda iyi çalışıyor.PowerBI CLI düğümü: Böyle bir dosya veya dizin yok

env: node: No such file or directory. 
: Ben _www kullanıcıyı Ancak ( sudo -u _www powerbi config)

, ben onları çalıştırmak kullanarak komutları çalıştırdığınızda Ya shell_exec veya Symphony's Process Component (https://symfony.com/doc/current/components/process.html), aşağıdaki özel durum alıyorum kullanarak PHP içinden bile iyi çalışıyor

Bu sorunu yaşıyorum Mac Sierra. Komutlar Linux üzerinde exec()

+0

, bir "$ PATH" sorunu gibi geliyor. PHP ortamlarınızın normalde kullandığınızdan başka bir kullanıcı olarak çalıştırılması mümkün mü? Örneğin. çünkü sen ´sudo´ing misin? – fuma

+0

PHP ortamı '_www' kullanıcısı olarak yürütülür. Garip olan şey, komutu terminalden bir _www kullanıcısı olarak çalıştırdığımda, iyi çalışıyor olmasıdır. Ancak, PHP ile çalıştırırsam bu bir durum değildir. –

cevap

1

üzerinde iyi çalışıyor. Komut yerine tam yolu kullanmayı deneyin. tam yolunu bilmeden ne yapacağımı tam olarak söyleyemem ama böyle bir şey olurdu:

$output = shell_exec("sudo -u _www /path/path/powerbi config"); 
var_dump($output); 

Düzenleme: İlk

Veya, değişim dizinleri. Yani yukarıda benim örnek kullanarak, olurdu:

$output = shell_exec("cd /path/path/powerbi; sudo -u _www powerbi config"); 
+0

Evet, ben böyle kullanıyorum. Bununla hiç şans yok. –

+0

Önce dizinleri değiştirmeyi denediniz mi? Denemek için cevabımı başka bir teşebbüsle düzenledim. – Citizen

+0

Evet, işte nasıl çalıştırıyorum - 'sudo -u _www/usr/local/bin/powerbi config'. –

2

linking deneyin Bazen programı usr/local/bin/program saklanır

"ln -s /path/where/command/is stored/ /to/path/where u want to exec/" 

arada varsayılan başına İçinde usr/bin/program sonra

Ve yürütme Kabuk, ayarladığınız yeni yolu kullanın. Eğer komut için bir yol varsa varsayalım bağlamak için

Örnek,

/usr/bin/powerbi

sonra yukarıdaki komutla size exec veya kabuk komutu yeni bir yol kullanabilirsiniz bundan sonra yeni bir yol usr/powerbi bağlayabilirsiniz.

+0

Çalışmıyor. Burada her şey çok garip. –

+0

Orijinal yolunuzu sağlıyorsanız, bunu benim tarafımda kontrol edebilirim. –

İlgili konular