Debian

如何為網路伺服器生成的程序設置環境變數?

  • December 4, 2015

我認為,在我的設置(debian etch、lighttpd)中,我的網站正在呼叫一個程序以通過 PHP 進行一些圖像處理。我想通過設置一個環境變數來改變這個程序的行為,最好不要改變網路應用程序。

這該怎麼做?=)

為 www-data 使用者擁有的所有程序設置 environemt 變數也可以,但我確信在這種情況下是否會尊重 .bashrc(?) 中的條目。

謝謝!

由於您使用的是 lighttpd fast-cgi,因此只需在 lighttpd 設置中使用bin-environment進行設置。

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server    = ( ".php" => 
   ((
           "bin-path" => "/usr/bin/php-cgi",
           "socket" => "/tmp/php.socket",
           "max-procs" => 2,
           "idle-timeout" => 20,

           "bin-environment" => ( 
                   "PHP_FCGI_CHILDREN" => "4",
                   "PHP_FCGI_MAX_REQUESTS" => "10000",

           ),

           "bin-copy-environment" => (
                   "PATH", "SHELL", "USER"
           ),
           "broken-scriptfilename" => "enable"
   ))
)

您可以為程序建構一個包裝腳本,將您的環境設置添加到其中,然後執行包裝腳本而不是原始程序。

#!/bin/sh
ENV=... /path/to/program

引用自:https://serverfault.com/questions/252211