簡體   English   中英

如何在 Laravel 中啟用 xdebug 日志?

[英]How to enable xdebug log in Laravel sail?

我試圖在 Laravel 8 中啟用 xdebug 日志,使用 docker 的帆包。

根據xDebugs docs日志將在將xdebug.log設置為一個值時自動出現。

這是我嘗試過的:

  1. 使用sail artisan sail:publish發布風帆文件sail artisan sail:publish
  2. 這創建了/docker/7.4/docker/8.0/docker/8.1
  3. 使用sail php -v我看到我正在使用php 8.0.12
  4. 現在我將xdebug.log =/var/www/html/storage/app添加到xdebug.log =/var/www/html/storage/app docker/8.0/php.ini
  5. 我運行sail build --no-cache並重新啟動容器。 這大約需要 8 分鍾。

不幸的是,檢查 phpinfo() 表明xdebug.log沒有價值: 在此處輸入圖片說明

根據我的 docker 文件, php.ini應該已被復制: COPY php.ini /etc/php/8.0/cli/conf.d/99-sail.ini所以我想嘗試讀取該文件。 為此,我嘗試了以下操作:

  1. 使用sail shell登錄到容器
  2. 轉到cd /etc/php/8.0/cli/conf.d/
  3. 使用cat 99-sail.ini讀取文件

那是內容:

[PHP]
post_max_size = 100M
upload_max_filesize = 100M
variables_order = EGPCS

# Extensions...
extension=swoole.so

# Zend Extensions...
zend_extension=xdebug.so

但是在/docker/8.0/php.ini我只有這個:

[PHP]
post_max_size = 100M
upload_max_filesize = 100M
variables_order = EGPCS
xdebug.log =/var/www/html/storage/app

這是為什么? 我也想嘗試直接編輯文件,但不知道vim sudo也是未知的,盡管圖像是 ubuntu:21.04。 我嘗試安裝 vim,但缺少訪問權限。

在此處輸入圖片說明

COPY php.ini /etc/php/8.0/cli/conf.d/99-sail.ini

您可以在復制的php.ini文件中添加 Xdebug 配置。 但是如果你更新它,那么你需要重建/重啟你的容器。

看起來這個 Laravel 應用程序使用了自己的 dockerfile。 我忘了檢查docker-compose.yml 內部laravel.test是指向不同文件的構建。 這就是為什么 docker 文件中的 php.ini 沒有被復制的原因。

此外,我必須使用實際日志文件的路徑並將其放在這樣的引號中:

xdebug.log ="/var/www/html/storage/app/xdebug.log"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM