Ich benutze Docker-Datei für PHP Apache. Ich deklariere einige Umgebungsvariablen in der Docker-Datei, aber wenn ich das Andockfenster ausführe, bekomme ich nur die Umgebungsvariable Apache, während meine Umgebungsvariable nicht funktioniert. Hier ist meine Docker-Datei.Docker Datei Umgebungsvariable Problem in PHP
# 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"]
Während ich leicht APACHE_PID_FILE
drucken kann, aber wenn ich test
versucht, seine Arbeit nicht. hier ist mein PHP Methode
<?php
getenv('APACHE_PID_FILE');
$_ENV['test']
getenv('test');
?>
Diese beiden Verfahren sind nicht bei Test env arbeiten.
Dank
Was erwarten Sie von diesem PHP-Snippet? – whites11
Ich möchte auf den Wert von env zugreifen – Developer
das Snippet ist unvollständig und wird nicht funktionieren, können Sie das echte Snippet posten? Was ist die Ausgabe von 'print_r ($ _ ENV);'? – ivoba