如何使用在本地主机上运行的Docker在PHP代码中模拟console.log

时间:2019-01-09 17:08:31

标签: php docker debugging

我正在使用Docker制作Laravel / Reactjs应用程序。在reactjs中进行编码,我大量使用console.log进行调试,但是找不到用于调试PHP代码的类似内容。假设我在一个PHP文件中要检查我的id变量是否符合我的想法,我想执行以下操作(Auth :: user()返回一个具有id的用户)

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

那当然不起作用。

我正在使用vscode作为我的编辑器,并且尝试使用Xdebug设置扩展PHP Debug,但是我无法使其正常工作,我认为这可能是由于docker的工作方式所致。我已经尝试过following guide,但也无法使其正常工作(并且它适用于Mac,我使用的是Linux)。

我也尝试过运行不同的脚本(可以在here中找到一些示例),但是如前所述,它们都不在代码中起作用。

下面,我要发布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

docker-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

我希望有一种方法能够与javascript中的console.log相同,因此我可以查看运行时的情况。

0 个答案:

没有答案