Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取bash文件来呈现php常量?_Php_Shell_Ubuntu - Fatal编程技术网

如何获取bash文件来呈现php常量?

如何获取bash文件来呈现php常量?,php,shell,ubuntu,Php,Shell,Ubuntu,有人知道如何获取bash文件来呈现php常量吗?例如,如果我创建一个包含 define('__ROOT__', dirname(dirname(__FILE__))); define("APPDIR", dirname(__FILE__).'/'); define("VIEW", APPDIR.'views/'); echo APPDIR; 然后,我创建一个shell脚本,其中包含: echo "Good morning, world." APPDIR = '/var/www/site-ro

有人知道如何获取bash文件来呈现php常量吗?例如,如果我创建一个包含

define('__ROOT__', dirname(dirname(__FILE__))); 
define("APPDIR", dirname(__FILE__).'/');
define("VIEW", APPDIR.'views/');
echo APPDIR;
然后,我创建一个shell脚本,其中包含:

echo "Good morning, world."
APPDIR = '/var/www/site-root'
export APPDIR
`php -e test.php`
我试图看看,当我运行shell脚本,然后执行php脚本时,它是否确认在php中设置的常量。现在,php中的echo语句打印出APPDIR而不是/var/www/site root

问题是我有shell cron来查询php代码,并且有一系列require和include,它们都有常量来构造它们的文件路径。我需要壳来保持这些常数。我不得不使用php$variable=path使web应用程序和cron能够找到执行所需的所有文件

如您所见,我尝试从shell导出变量,并使其成为bash和php都可用的环境变量,但没有效果

想法,想法?
谢谢

您可以将变量作为命令行参数传递给php,或者在php中使用getenv读取环境变量

<?php
define("APPDIR",getenv("APPDIR"));
?>

您可以将变量作为命令行参数传递给php,也可以在php中使用getenv读取环境变量

<?php
define("APPDIR",getenv("APPDIR"));
?>

使用getenv php指令

下面是一个类似问题的答案:

如果您试图将一些输出传递给shell变量, 您可以这样做: $testvar=$php-r'打印hello' $echo$testvar 你好 显示导出如何影响事物: $php-r'$a=getenvtestvar;打印$a;' $export testvar $php-r'$a=getenvtestvar;打印$a;' `你好


使用getenv php指令

下面是一个类似问题的答案:

如果您试图将一些输出传递给shell变量, 您可以这样做: $testvar=$php-r'打印hello' $echo$testvar 你好 显示导出如何影响事物: $php-r'$a=getenvtestvar;打印$a;' $export testvar $php-r'$a=getenvtestvar;打印$a;' `你好


putenv可能更符合我的要求。不过,非常感谢你提供的线索。putenv可能更符合我要寻找的内容。谢谢你的提示。