Xdebug не может прочитать Dotenv. php - PullRequest
0 голосов
/ 27 мая 2020

Среда:

  • PHP - v7.4
  • Symfony - v4.1
  • Vagrant - v2.2.7
  • Homestead - v9.5.1
  • VSCode

My launch.json конфигурация файла:

     {
         "name": "Listen for myapp",
         "type": "php",
         "request": "launch",
         "port": 9000,
         "pathMappings": {
              "/home/vagrant/code": "/home/user/code",
              "/home/vagrant/code/myapp": "/home/user/code/myapp",
              "/home/vagrant/code/myapp/public": "/home/user/code/myapp/public"
            },
      },

My Homestead.yaml файл:

     - map: myapp.test
          to: /home/vagrant/code/myapp/public
          type: symfony4

Моя xdebug.ini конфигурация (находится в /etc/php/7.4/cli/conf.d/20-xdebug.ini):

    zend_extension=xdebug.so
    xdebug.remote_enable=1
    xdebug.remote_autostart=1
    xdebug.idekey = VSCODE

Когда я запускаю xdebugger (расширение отладки VSCode PHP), отображается

>Unable to open 'Dotenv.php': Unable to read file '/home/vagrant/code/myapp/vendor/symfony/dotenv/Dotenv.php' (Error: Unable to resolve non-existing file '/home/vagrant/code/myapp/vendor/symfony/dotenv/Dotenv.php').

Кто-нибудь может дать какие-нибудь указания по этому поводу?

Обновление 1:

Кажется, он не может прочитать эту строку:

    (new Dotenv())->load(__DIR__.'/../.env');

.env файл имеет разрешение 644 , Я попытался изменить его на 775 и повторил попытку, но проблема все равно осталась.

Оба местоположения .env и Dotenv.php верны, в настоящее время .env имеет разрешение 644 и Dotenv.php имеет 775.

1 Ответ

0 голосов
/ 27 мая 2020

У меня было 4 приложения, все из которых имели launch.json с соответствующим pathmappings, и я добавил их все в рабочую область, поэтому сгенерированные конфигурации по умолчанию были одинаковыми для всех launch.json, и это создавало путаницу. для xdebug конфиг. Удалил все launch.json и создал один для всей рабочей области, и проблема была решена.

...