可能是一个新手问题,但我很难理解/配置VSCode和Windows中的PHPDebug/Xdebug。我能解释的最好的方法是使用下面的一个例子。
假设我的项目结构如下所示,有一个根文件夹,几个应用程序文件夹和一个包含所有应用程序使用的文件的SharedFolder。
C:\WebAppRoot
C:\WebAppRoot\App
C:\WebAppRoot\App2
C:\WebAppRoot\SharedFiles\src
C:\WebAppRoot\SharedFiles\img
假设我加载了一个位于C:\WebAppRoot\App
的项目。我对位于SharedFiles
目录中的文件进行了几次调用,引用方式如下:
<script type="text/javascript" src="../SharedFiles/src/script.js>
但是当我启动“Launch Built-in Web server”选项时,这些文件无法定位,因为localhost指向C:\WebAppRoot\App
作为根。
我不知道如何将launch.json配置为从根目录C:\WebAppRoot
启动。我试过使用pathMappings
和一堆其他配置,但它不工作,对我来说没有意义。
这是我目前的配置。任何帮助将不胜感激!
{
"name": "Launch Built-in web server",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-dxdebug.mode=debug",
"-dxdebug.start_with_request=yes",
"-S",
"localhost:0"
],
"log": true,
"program": "",
"pathMappings": {
"c:/WebAppRoot":"${workspaceRoot}",
},
"cwd": "${workspaceRoot}",
"port": 9003,
"serverReadyAction": {
"pattern": "Development Server \\(http://localhost:([0-9]+)\\) started",
"uriFormat": "http://localhost:%s",
"action": "openExternally"
}
}
1条答案
按热度按时间siotufzp1#
因为你的代码从PHP编译成HTML,然后呈现在DOM中。然后,客户机向服务器请求目录中上一级的文件,出于安全原因,您无法访问该文件。
通过这种方式,您可以访问PHP文件,因为服务器将预先处理这些文件,然后将编译后的代码提供给用户。
已编辑
我无法找到任何配置,但您的服务器(在mysite.example.com)基本上是在根目录下运行一个服务器,并分配不同的URL到您的网站。比如...
localhost/siteone
->siteone.example.com
localhost/sitetwo
->sitetwo.example.com
因此,这样您就可以访问根目录中的文件。如果你想在你自己的电脑上这样做,那么你必须安装
apache server
或xampp
,因为php in-built development server
没有任何配置选项。see this question.详见路由教程
How to Build a Routing System for a PHP App from Scratch