【问题标题】:Xdebug unable to read Dotenv.phpXdebug 无法读取 Dotenv.php
【发布时间】:2020-09-14 14:49:13
【问题描述】:

环境:

  • PHP - v7.4
  • Symfony - v4.1
  • 流浪者 - v2.2.7
  • 宅基地 - v9.5.1
  • VSCode

我的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"
            },
      },

我的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 并再次尝试但仍然遇到同样的问题。

.envDotenv.php的位置都是正确的,目前.env有权限644Dotenv.php775

【问题讨论】:

  • 你能在load() 之前做一个var_dump(__DIR__.'/../.env'); 吗?检查路径是否以正确的方式创建。
  • @WilliamPrigolLopes 感谢您的回复,让我在这里尝试更新。
  • @WilliamPrigolLopes 我得到了“/home/vagrant/code/g4-middleware-symfony/public/../.env”。
  • 而你在 vagrant 中的文件指向同一个地方?如果不是,我相信这就是问题所在。
  • @WilliamPrigolLopes 你能解释一下我的配置和我发布的所有映射吗?

标签: php vagrant symfony4 xdebug homestead


【解决方案1】:

我有 4 个应用程序,它们都有 launch.json 和各自的 pathmappings,我将它们都添加到工作区,所以生成的默认配置在所有 launch.json 中都是相同的,这造成了混乱对于xdebug 配置。删除所有 launch.json 并为整个工作区创建一个,问题得到解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 2017-09-07
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2017-02-19
    相关资源
    最近更新 更多