Как эмулировать console.log в PHP-коде, используя docker, работающий на localhost - PullRequest
0 голосов
/ 09 января 2019

Я делаю приложение Laravel / Reactjs, используя Docker. При написании кода в responsejs я много использую console.log для отладки, но не могу найти ничего похожего для отладки своего PHP-кода. Предположим, я в файле PHP хочу проверить, что моя переменная id - это то, что я думаю, я хотел бы сделать следующее (Auth :: user () возвращает пользователя, у которого есть идентификатор)

function somePHPfunction {
$user = Auth::user();
$id = $user->id;
console.log($id);
}

что, конечно, не работает.

Я использую vscode в качестве редактора, и я попытался настроить расширение PHP Debug с помощью Xdebug, но я не могу заставить его работать, что, я думаю, может быть связано с тем, как работает docker. Я попробовал следующее руководство , но также не смог заставить это работать (и это для Mac, я использую Linux).

Я также пытался запускать разные скрипты (некоторые примеры можно найти здесь ), но ни один из них не работает в коде, как упоминалось ранее.

Ниже я публикую свой файл docker, мой файл docker-compose.yaml и мой файл .env (проект выполнен в Laravel).

dockerfile

FROM php:7.2-apache

RUN a2enmod rewrite

RUN rm /bin/sh && ln -s /bin/bash /bin/sh && \
apt-get update && apt-get install --no-install-recommends -y \
  libjpeg-dev \
  libpng-dev \
  libpq-dev \
  curl \
  wget \
  vim \
  git \
  unzip \
  mysql-client \
;

RUN docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
docker-php-ext-install -j "$(nproc)" \
  gd \
  opcache \
  pdo_mysql \
  pdo_pgsql \
  zip \
;

RUN apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /var/www/html

RUN curl -sS https://getcomposer.org/installer | php && \
mv composer.phar /usr/local/bin/composer && \
ln -s /root/.composer/vendor/bin/drush /usr/local/bin/drush

COPY scan-apache.conf /etc/apache2/sites-enabled/scan-apache.conf

докер-compose.yaml версия: '3.3'

services:

app:
image: image
build: .
container_name: container
env_file:
  - .env
ports:
  - "4321:80"
volumes:
  - .:/var/www/html
depends_on:
  - mysql

mysql:
image: mysql/mysql-server:5.7
# build: ./docker/mysql
hostname: mysql
container_name: scan-db
env_file:
  - .env
volumes:
  - mysql-data-scan-redcap:/var/lib/mysql

volumes:
mysql-data-scan-redcap:

networks:
default:
external:
  name: webproxy

Я надеюсь на метод, который может сделать то же самое, что и console.log в javascript, поэтому я могу видеть, что происходит во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...