Bir bash betiğini (ssh komutuyla) php'den çalıştırmayı denedim, ancak CLI üzerinde yürütüldüğü şekilde çalışmıyor. CLIphp ile bash betiğinin çağrılması
#!/bin/bash -x
SERVER=$1
CARRIER=$2
MANAGEMENT_NAGIOS_SERVER=$3
MANAGEMENT_NAGIOS_USER=$4
ssh -q ${MANAGEMENT_NAGIOS_USER}@${MANAGEMENT_NAGIOS_SERVER} "ls /usr/local/nagios/health_check_${CARRIER}.cfg"
Running deploy_to_nagios.sh başarıyla döndürür, ancak php üzerinde çalıştırıldığında
$exec3 = shell_exec('deploy_to_nagios.sh '.' '.$server.' '.$carrier.' '.$nag_manage_server.' '.$nag_manage_user);
dosyası olamaz kullanarak: Burada
bash script pasajı (deploy_to_nagios.sh
) 'dir bulunan. Tahminimce php ssh ve ls komutlarını ayrı olarak çalıştırıyor, bu yüzden dosya bulunamıyor. php yürütme CLI ile aynı davranır bir yolu var, bu 2 komutları tek olarak ele?
netleştirin: deploy_to_nagios.sh veya /usr/local/nagios/health_check_${CARRIER}.cfg bulunamıyor? –
Hangi dosya hakkında konuştuğunuzdan emin olamazsınız, ancak bunun için endişeleniyorsanız, neden sadece dosyanın tam yolunu kullanmıyorsunuz? – drewyupdrew
"/usr/local/nagios/health_check_${CARRIER}.cfg" ifadesi, deploy_to_nagios.sh dosyasını php ile çalıştırırken bulunamıyor. Ancak bu dosya CLI aracılığıyla deploy_to_nagios.sh dosyası çalıştırılırken bulunabilir. Tahminimce php, "ls /usr/local/nagios/health_check_${CARRIER}.cfg" komutunu ssh -q $ {MANAGEMENT_NAGIOS_SERVER $ {MANAGEMENT_NAGIOS_USER} 'dan ayrı komut komutu olarak çalıştırıyor. $ {MANAGEMENT_NAGIOS_USER} tarihinde? – user4298197