php - 如何使用在 localhost 上运行的 docker 在 PHP 代码中模拟 console.log
问题描述
我正在使用 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 的工作方式。我已经尝试了 以下指南,但也无法使其工作(它适用于 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
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 一样,所以我可以看到运行时发生了什么。
解决方案
推荐阅读
- c++ - QDialog:如何在 Windows 上启用位于父级(主窗口)后面?
- vb.net - Visual Basic 循环删除最后一个字符
- cython - 在 Cython 中定义字符串数组
- reactjs - 如何修复错误:期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions
- javascript - Javascript椭圆点乘算法
- ruby - 在条件语句中使用检查方法的结果
- html - 如何将导航标题设置到右侧 - Wordpress
- angular - 在 innerHTML 中对组件功能的引用不起作用
- c++ - 迭代期间替换 std 向量的先前内容
- jquery - 为什么我的 map() 调用没有返回预期的结果?