我正在使用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相同,因此我可以查看运行时的情况。