Ваш docker оператор выполнения в порядке. Кажется, есть ошибка в Dockerfile
phalcon. Я следовал инструкциям документации и могу убедиться, что это ошибка.
ШАГИ ДЛЯ ВОСПРОИЗВЕДЕНИЯ
- Создайте два файла
index.php
и nginx.conf
в следующей структуре.
Это содержимое файла
<?php
// index.php
phpinfo();
# nginx.conf
server {
listen 80 default_server;
server_name example.com;
index index.php;
root /app/public;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_read_timeout 300;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
}
Затем используйте эту команду для запуска контейнера docker
docker run \
-p 80:80 \
-v $(pwd):/app \
-v $(pwd)/docker/nginx.conf:/etc/nginx/sites-enabled/default:ro \
-e XDEBUG_REMOTE_ENABLE=1 -e XDEBUG_REMOTE_HOST=host.docker.internal \
phalconphp/ubuntu-16.04:php-7.2
Ожидаемый результат Включен Xdebug
Фактический результат Xdebug не был включен
Когда я копнул глубже в Dockerfile , я обнаружил, что есть сценарии entryfile, но в Dockerfile
отсутствует инструкция ENTRYFILE
. Я создал Запрос на извлечение , который решит эту проблему.