我试图设置一个应该可以从PHP外部访问的变量。理想情况下,这应该是一个局部变量,但环境变量也是受欢迎的。将一个变量从PHP导出到shell
首先,我已经试过putenv()
,但没有给出结果:
$ PHP -r “运行putenv( 'PHP_TEST =字符串');” ;回声$ PHP_TEST
$
当我打电话getenv()
来自同一个脚本 - 它导致了正确的 '字符串' 值。 安全模式是关闭的,但手册上说“PHP_”前缀与安全至关重要=,所以我使用它,以防万一:)
然后我尝试system()
或shell_exec()
:
$ PHP -r “了shell_exec( 'PHP_TEST =串');” ; echo $ PHP_TEST
$ php -r“shell_exec('export PHP_TEST = string');” ;回声$ PHP_TEST
$
有没有解决办法?可能是什么原因? 我使用Ubuntu Linux 9.10“Karmic”,但FreeBSD服务器提供了相同的结果。
谢谢!这使问题清楚。但是,那么'getopt'(以及其他一些非内置程序)如何设法将变量导出到外部环境? (例如'getopt' exports'$ OPTIND') – kolypto 2010-01-05 01:59:23
你混淆了外部的'/ usr/bin/getopt',它不会和内建的'getopts'不能做到这一点。 – 2010-01-05 02:49:14