PhpStom&x2B;XDebug&x2B;编码点火器(MVC)

PhpStom&x2B;XDebug&x2B;编码点火器(MVC),php,codeigniter,xdebug,phpstorm,Php,Codeigniter,Xdebug,Phpstorm,我有一个Linux开发和测试服务器,在将web应用程序放到生产服务器上之前,我使用它为我的客户创建web应用程序。apache的配置允许我具有“homedir”配置,因此每个项目都有其“/home/nameproject/public_html/”目录,url可见我使用CodeIgniter框架工作,url中没有index.php使用of.htaccess文件,并且$config['url\u suffix']='';在application/config.php中 远程服务器 因此:Debia

我有一个Linux开发和测试服务器,在将web应用程序放到生产服务器上之前,我使用它为我的客户创建web应用程序。apache的配置允许我具有“homedir”配置,因此每个项目都有其“/home/nameproject/public_html/”目录,url可见
我使用CodeIgniter框架工作,url中没有index.php使用of.htaccess文件,并且$config['url\u suffix']='';在application/config.php中
远程服务器
因此:Debian
Apache:2.2.16
PHP:5.3.3和Suhosin补丁v0.9.32.1
XDebug版本:2.1.0
本地
IDE:PhpStorm 7.1
IDE键:PHPSTORM
服务器配置:
服务器配置映射

我遵循了指南,当我启动调试会话时,无论加载什么页面,PhpStorm上的调试器都会启动并尝试打开index.php文件
显然,正如我前面提到的,我在url中没有任何index.php…
场景:单击“侦听调试器连接”按钮,在“忘记密码”函数的“application/controllers/auth.php”文件中设置断点,然后在服务器上运行调试器,
PhpStorm拦截请求并显示此屏幕 请求uri=/~nameproject/auth/forget\u password找不到与“服务器上的文件路径”的关系,该关系必须是/home/nameproject/public\u html/application/controllers/auth.php”,而不是=/home/nameproject/public\u html/index.php

关于如何调用控制器php文件而不是index.php的一些想法?

根据您的评论..问题似乎在于
Settings | php | Servers
中“Host”字段的值不正确(第一个屏幕截图)--它应该只是域/主机名,而不是实际的URL(与“Server name”相比)“在第三个屏幕截图上存档”--只需删除
/~***
部分。路径映射似乎设置正确

或者——只需删除
Settings | PHP | Servers
中的任何条目,并使用零配置方法——IDE将帮助在第一次成功调试连接时设置它


至于第三个屏幕截图——IDE的行为是正确的。由于没有正确的路径映射(使用正确的服务器/主机名),PhpStorm在当前运行的脚本的第一行中断,即
index.php
(MVC应用程序的入口点)。一旦建立了正确的路径映射,IDE将只在断点上停止(除非它符合“设置| PHP |调试| Xdebug”部分中的某些条件)。

Host
字段在“服务器配置”屏幕截图中是错误的——它应该只是一个主机名而不是URL。我的建议是——删除任何现有的“PHP |服务器”并使用零配置方法——IDE将帮助设置它。在您将其正确设置后,我们可以进一步查看。但是现在IDE的行为是正确的(第三个屏幕截图),通过询问
index.php
的路径(没有正确设置路径映射,因此它会在当前运行的文件中停止,即index.php)如果我删除现有的php->Server配置(没有更多配置),行为是相同的。。。。来自Xdebug的传入连接询问我是否要调试index.php文件。。。但是难以置信!!!如果我点击“接受”,它会自动将index.php映射到auth.php文件!!!太好了,现在它工作了。。。。我点击忽略按钮,因为我认为我是从/home/public\u html/index.php开始调试的!!!