在Netbeans中使用XDebug和TYPO3的问题(Vagrant机器中的符号链接)

时间:2017-09-16 09:35:58

标签: php netbeans vagrant typo3 xdebug

我想要的是在Netbeans的本地开发环境中使用XDebug调试TYPO3代码。

我拥有的是:

  • MacOS Sierra
  • Netbeans 8.2
  • Vagrant 1.8.7
  • Virtualbox 5.1.26
  • LAMP堆栈(Debian Stretch,Apache 2.4,PHP-FPM 7.0,MariaDB 10.1)
  • Typo3 8.7.6(标准模式不是作曲家)

推荐使用Typo3的文件夹结构

/typo3_src-8.7.6
/typo3/typo3_src -> ../typo3_src-8.7.6
/typo3/index.php -> typo3_src/index.php
/typo3/typo3 -> typo3_src/typo3

相应的XDebug参数是

php_admin_value[xdebug.remote_enable] = 1
php_admin_value[xdebug.remote_host] = 192.168.33.1
php_admin_value[xdebug.remote_port] = 9000
php_admin_value[xdebug.remote_handler] = dbgp
php_admin_value[xdebug.max_nesting_level] = 400

Netbeans中的PHP项目在"运行配置"下设置了以下路径映射。 > "高级..":

Server Path              Project Path
/var/www/html/typo3      /Users/{me}/{project}/typo3

和Netbeans正在侦听端口9000以及XDebug。相应的xdebug.log在开始调试时显示成功:

Log opened at 2017-09-16 08:17:52
I: Connecting to configured address/port: 192.168.33.1:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/html/typo3_src-8.7.6/index.php" language="PHP" ..></init>

问题是:XDebug无法识别断点。

添加其他路径映射到typo3源

Server Path                      Project Path
/var/www/html/typo3              /Users/{me}/{project}/typo3
/var/www/html/typo3_src-8.7.6    /Users/{me}/{project}/typo3

然后Netbeans在设置&#34;停在第一行&#34;时至少停在/typo3/index.php。但它仍然不会停留在/ typo3 / typo3conf / ext / ..下的自定义typo3扩展中的自定义断点。当用它们的真实源(index.php和typo3)替换所有符号链接时,调试就像魅力一样。

是否有 方法来解决默认TYPO3 8 LTS安装的符号链接的这些路径映射?

1 个答案:

答案 0 :(得分:0)

我怀疑你的映射不正确。您的站点根位于/ var / www / html / typo3并且您是TYPO3 CMS / var / www / html / typo3 / typo3,这是正确的吗?

如果是这样,映射应该是这样的:

Server Path                              Project Path
/var/www/html/typo3                      /Users/{me}/{project}/typo3
/var/www/html/typo3_src-8.7.6            /Users/{me}/{project}/typo3/typo3
/var/www/html/typo3_src-8.7.6/index.php  /Users/{me}/{project}/typo3/index.php