我使用PHP Apache的docker文件。我在docker文件中聲明瞭一些環境變量,但是當我運行docker時,它只能得到Apache環境變量,而我的環境變量不起作用。 這裏是我的碼頭文件。PHP中的Docker文件環境變量問題
# Install dependencies
From ubuntu:16.04
RUN apt-get update -y
RUN apt-get update && apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install \
vim apache2 php7.0 php7.0-mysql php7.0-gd php7.0-mbstring libapache2-mod-php7.0 curl lynx-cur
RUN service apache2 stop
# Install app
RUN rm -rf /var/www/html/*
ADD . /var/www/html
# Configure apache
RUN a2enmod php7.0
RUN a2enmod rewrite
RUN chown -R www-data:www-data /var/www/html/backend/runtime /var/www/html/backend/web/assets /var/www/html/uploads
RUN sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_PID_FILE /var/run/apache2.pidd
ENV test myenv_variable_value
EXPOSE 80
RUN service apache2 start
CMD ["apache2", "-D", "FOREGROUND"]
雖然我可以輕鬆打印APACHE_PID_FILE
但是當我試圖test
它不工作。 這裏是我的PHP方法
<?php
getenv('APACHE_PID_FILE');
$_ENV['test']
getenv('test');
?>
這些方法都沒有在測試ENV的情況下工作。
謝謝
你對這段php代碼片有什麼期待? – whites11
我想要訪問env – Developer
的值這段代碼不完整並且不起作用,您能發佈真正的代碼段嗎? 'print_r($ _ ENV)'的輸出是什麼;'? – ivoba