Zend 调试器包含错误的文件。
它包括
/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos/includes/steps-ui.php
,而不是
/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/includes/steps-ui.php
如您所见,这些文件具有相同的文件名,但路径不同。
这是发生的事情:
我正在使用 Zend Debugger v5.3 和 Zend Engine v2.4.0、php 5.4 来调试 Wordpress 4.2.1 和插件 BadgeOS 1.4.4 和 BadgeOS Community Add-On v 1.2.0(加上一些不相关的插件)。
我在 Eclipse 控制台中收到以下编译错误:
Compile Error: /tenjin/src/wordpress/wp-content/plugins/badgeos/includes/steps-ui.php line 23 - Cannot redeclare badgeos_steps_ui_admin_scripts() (previously declared in /home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/includes/steps-ui.php:18)
badgeos_steps_ui_admin_scripts
实际上并不存在于/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/includes/steps-ui.php
Zend Debugger 实际上包含/tenjin/src/wordpress/wp-content/plugins/badgeos/includes/steps-ui.php
了两次,但它不应该包含在内。
这是我可以告诉的:
我/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/badgeos-community.php
在第 90 行有一个断点。它被指示
require_once( $this->directory_path . '/includes/steps-ui.php' );
的$this->directory_path
值为 /home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/
但是,如果我在那一点上执行一步,调试器将在第 18 行结束
/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos/includes/steps-ui.php
,
不是
/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/includes/steps-ui.php