Ich baue 2 dockers, ein docker mit apache, ein docker mit php5, und ich benutze docker-komponieren um zu starten.php docker link apache docker
apache2 Dockerfile in Directoy apache2:
FROM debian:latest
RUN apt-get update && apt-get install -y apache2
ADD test.php /var/www/html
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
und test.php:
<?php
phpinfo();
?>
php5 Dorckerfile im Verzeichnis php:
FROM debian:latest
RUN apt-get update && apt-get install -y php5
Docker-compose.yml:
apache:
build: ./apache2
container_name: apache
ports:
- "80:80"
links:
- "php5"
php5:
build: ./php
container_name: php
dann laufe ich:
docker-compose up
apache2-Server erfolgreich gestartet. Dann greife ich auf diesen Server durch http://server_ip, dann ich Index debian.But, wenn ich http://server_ip/test.php zugreifen, nur diese auftreten:
<?php
phpinfo();
?>
php einfach nicht work.and ich weiß nicht, warum.
PHP und Apache jetzt in zwei verschiedenen Containern leben und können nur über Web-Calls/Links/Datenaustausch miteinander interagieren, aber nicht, indem sie sich einfach gegenseitig anrufen. Vielleicht möchten Sie einen kombinierten php5/apache-Container erstellen und sicherstellen, dass Sie das php5-Modul verwenden. –
@WolfgangFahl was meinst du "interagieren über Web-Calls/Links/Datenaustausch"? Ich kann es nicht verstehen. – xina1i
Sie können die separaten Container für Apache und PHP verwenden, aber Sie müssen die 'php-fpm' verwenden, die auf einem Port ausgeführt werden, und dann müssen Sie' php-fpm' in Ihrer Apache-Konfigurationsdatei konfigurieren. –