Я пытаюсь установить переменную среды bash с помощью PHP (из командной строки) без успеха.
$buff=array(); $buff[]="VARTESTKEY=VARTESTVALUE"; $buff[]="export VARTESTKEY"; file_put_contents('script.sh', implode("\n",$buff)); system('source script.sh');
Я даже попробовал использовать скрипт для вывода значения ключа, которое получает значение:
$buff=array(); $buff[]="echo VARTESTKEY=VARTESTVALUE"; file_put_contents('script.sh', implode("\n",$buff)); system('eval "$(bash script.sh)"');
Но все равно ничего.
Есть идеи? Я не против использовать какой-либо другой инструмент (perl, python, c и т. Д.), Если он может выполнять свою работу, вызывая из системной функции PHP.
Нужны ли вам эти переменные среды перед запуском другого сценария bash?
Вы можете просто использовать putenv("KEY=VAL");
Es:
<?php putenv("ASD=LOL"); system("echo \$ASD"); ?>
Редактировать:
<?php echo "VARTESTKEY=VARTESTVALUE"; ?>
запустите его как:
$ eval `php script.php` && echo $VARTESTKEY