Tôi đang cố đặt một biến có thể truy cập được từ bên ngoài PHP. Lý tưởng nhất là một biến cục bộ, nhưng các biến môi trường cũng được chào đón.Xuất biến từ PHP sang shell
Trước tiên, tôi đã cố gắng putenv()
, nhưng điều này không đưa ra kết quả:
$ php -r "putenv ('PHP_TEST = string');" ; echo $ PHP_TEST
$
Khi tôi gọi getenv()
từ kịch bản tương tự - nó kết quả trong 'chuỗi' giá trị đúng. chế độ an toàn tắt, nhưng hướng dẫn nói tiền tố 'PHP_' là quan trọng với an toàn = on vì vậy tôi sử dụng nó chỉ trong trường hợp :)
Sau đó, tôi cố gắng system()
hoặc shell_exec()
:
$ php -r "shell_exec ('PHP_TEST = chuỗi');" ; echo $ PHP_TEST
$ php -r "shell_exec ('xuất khẩu PHP_TEST = chuỗi');" ; echo $ PHP_TEST
$
Có một cách giải quyết? Nguyên nhân có thể là gì? Tôi đang sử dụng Ubuntu Linux 9.10 "Karmic", nhưng máy chủ FreeBSD cho kết quả tương tự.
Cảm ơn! Điều đó làm cho câu hỏi rõ ràng. Nhưng sau đó, làm thế nào 'getopt' (và một số chương trình không xây dựng khác) quản lý để xuất các biến vào bối cảnh bên ngoài? (Ví dụ: 'getopt' xuất' $ OPTIND') – kolypto
Bạn đang bối rối '/ usr/bin/getopt' bên ngoài mà không và không thể làm điều đó với' getopts' được tạo sẵn. –