Tôi có một tập lệnh sử dụng passthru() để chạy lệnh. Tôi cần phải thiết lập một số biến môi trường shell trước khi chạy lệnh này, nếu không nó sẽ không tìm thấy thư viện của nó.biến môi trường shell xuất trước khi chạy lệnh từ tập lệnh PHP CLI
Tôi đã thử những điều sau đây:
putenv("LD_LIBRARY_PATH=/path/to/lib");
passthru($cmd);
Sử dụng putenv() không xuất hiện để tuyên truyền cho lệnh Tôi đang chạy. Nó không nói rằng nó không thể tìm thấy nó thư viện. Khi tôi chạy export LD_LIBRARY_PATH=/path/to/lib
trong bash, nó hoạt động tốt.
Tôi cũng đã cố gắng như sau (trong vô vọng):
exec("export LD_LIBRARY_PATH=/path/to/lib");
passthru($cmd);
Làm thế nào tôi có thể thiết lập một biến vỏ từ PHP, mà truyền cho tiến trình con của kịch bản PHP của tôi?
Tôi có bị hạn chế kiểm tra xem biến không tồn tại trong môi trường hiện tại và yêu cầu người dùng đặt thủ công không?
thể trùng lặp của http://stackoverflow.com/questions/2002970/export-a-variable-from-php-to-shell – Electronick
Tôi đã đọc câu hỏi đó, điều này có vẻ giống nhau nhưng nếu bạn đọc nó , Tôi hỏi làm thế nào để đạt được một cái gì đó khác nhau. –