cari

Rumah  >  Soal Jawab  >  teks badan

django - Masalah membaca pembolehubah persekitaran apabila apache memuatkan fail konfigurasi

Projek saya digunakan menggunakan django + apache Untuk mudah membezakan antara persekitaran dalam talian dan pembangunan, saya menetapkan pembolehubah persekitaran pada pelayan Z_ENV, dan kemudian menulis ini dalam fail konfigurasi Django,

.
env = os.environ.get("Z_ENV", None)
if env == "server":
    from .server_settings import *
else:
    from .local_settings import *

Cara penulisan ini tiada masalah apabila menggunakan beberapa arahan yang disertakan dengan Django secara tempatan atau pada pelayan Contohnya, apabila menjalankan os.environ.get("Z_ENV", None)就是server或者python managa.py syncdb,确实是使用的server_settings里面的配置,但是在apache载入配置文件的时候却没有获取到这个环境变量,然后就使用了local_settings,我是在上面加了一句print env的,然后service apache2 restart secara langsung, Tiada dicetak dalam fail log apache.

Pengubahsuaian pembolehubah persekitaran ialah /etc/profile文件,内容是Z_ENV=server export Z_ENVPada mulanya, ia tidak berkuat kuasa untuk pengguna apache, tetapi kemudian saya menyemak dan mendapati pembolehubah persekitaran yang ditetapkan di sini berkesan untuk semua pengguna.

Jom tanya semua orang apa yang berlaku?

天蓬老师天蓬老师2747 hari yang lalu590

membalas semua(1)saya akan balas

  • 迷茫

    迷茫2017-05-16 17:05:31

    di /etc/apache2/envvars 中设置 export Z_ENV=server

    balas
    0
  • Batalbalas