标签: eclipse-pdt

如何在eclipse中运行php脚本

我安装了Eclipse PDT-all-in-one-win32-2.0.0GA和WampServer 2.0.

我尝试在eclipse中作为PHP脚本运行但我有这个错误:

"当前的调试器没有任何已定义的PHP可执行文件."

我该如何创建这个.exe ??

php eclipse scripting eclipse-pdt

8
推荐指数
1
解决办法
4万
查看次数

使用PHP fastcgi和eclipse进行Xdebug配置?

我一直在使用eclipse-pdt与xdebug和apache一起使用超过一年.事情完美无缺,我可以在eclipse中完成我想要的所有交互式调试(使用我自己的机器作为服务器).

现在我从apache切换到nginx(因此PHP现在不是作为Apache服务而是作为fast-cgi运行)而且我找不到一种方法来配置eclipse与xdebug很好地协同工作.我不确定xdebug或eclipse(或两者)的问题是否确定.

在eclipse配置中,我已经将对PHP配置文件的引用更改为/etc/php5/cli/php.ini.


尝试使用php.ini版本1

使用以下php.ini文件

zend_extension=/usr/lib/php5/20060613/xdebug.so
Run Code Online (Sandbox Code Playgroud)
  • 我看到xdebug正在工作(例如,如果我做了一个var_dump()我得到它的xdebug版本,而不是普通的PHP版本)
  • 我无法从eclipse进行交互式调试:浏览器打开并完全加载包含典型URL的页面...?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=...,但程序执行不会在断点处停止
  • 在eclipse的右下角,我看到一条可疑消息:"Launching = put_the_name_of_my_project_here =:57%""刷新工作区"交替显示.

尝试使用php.ini版本2

如果我使用该文件的其他版本(在切换到nginx之前它是有效的):

zend_extension=/usr/lib/php5/20060613/xdebug.so
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req
Run Code Online (Sandbox Code Playgroud)

我根本无法访问我网站的任何页面.


PS:我机器上的附加数据: - 操作系统: GNU/Linux - Ubuntu 9.10 64位.- PHP: 5.2.10-2ubuntu6.3,带Suhosin-Patch 0.9.7; Zend Engine v2.2.0,版权所有(c)1998-2009 Zend Technologies with Xdebug v2.0.4 - Eclipse:见截图.

替代文字

php eclipse fastcgi xdebug eclipse-pdt

8
推荐指数
2
解决办法
1万
查看次数

eclipse pdt中的代码完成和工厂模式

假设我在PHP代码中有一个典型的工厂模式:

abstract class Model
{
    function m()
    {
    }
}

class model_A
{
    function a()
    {
    }
}

class model_B
{
    function b()
    {
    }
}

function modelFactory($name)
{
    $className = 'model_' . $name;
    $object = new $className();
    // ... do some magic stuff ...
    return $object;
}
Run Code Online (Sandbox Code Playgroud)

我知道@var和@return phpdoc标签,但在输入之后是否有任何神奇的方法:

$x = modelFactory('A');
Run Code Online (Sandbox Code Playgroud)

Eclipse会知道$ x是model_A的一个实例吗?

我可以在某处定义一个固定的字符串向量,如下所示:

"modelFactory('A')" => "new model_A()"
"modelFactory('B')" => "new model_B()"
Run Code Online (Sandbox Code Playgroud)

在处理代码完成之前,Eclipse要在内存中替换.

php eclipse factory eclipse-pdt code-completion

8
推荐指数
1
解决办法
633
查看次数

在Eclipse Kepler中安装SmartyPDT 0.0.9.1

我刚刚安装了最新版本的Eclipse Kepler,它是RC3(见http://www.eclipse.org/downloads/index-developer.php).我一直在使用这个"smartyPDT"(在https://code.google.com/p/smartypdt/上找到)插件用于所有以前的版本,但我似乎不能再安装这个插件了.我收到了错误

 Cannot complete the install because one or more required items could not be found.
 Software being installed: Smarty Feature 0.91.0 

 (org.eclipse.php.smarty_feature.feature.group 0.91.0)
 Missing requirement: Smarty Feature 0.91.0 (org.eclipse.php.smarty_feature.feature.group 0.91.0) requires 'org.eclipse.php 0.0.0' but it could not be found
Run Code Online (Sandbox Code Playgroud)

我尝试使用旧版本的smartyPdt,它是0.9.0,也是0.9.1.任何想法如何解决这个问题或更好的如何让SmartyPDT与开普勒一起工作?

eclipse-plugin eclipse-pdt

8
推荐指数
1
解决办法
8521
查看次数

数组初始化中的正确缩进,PDT/Zend Studio

我在代码中使用以下样式的数组初始化:

$a = array(
    'one' => 123,
    'two' => 456
);
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下PDT/Zend Studio无法正常工作; 按[Return]键后,它将光标置于$ a(在我的示例中)并忽略缩进.如果数组键是数字(至少不是以引号开头),一切正常.

这是它当前的工作原理(| - 是edtitor在按下[Return]后放置插入符号的位置)

$a = array(
    'one' => 123,[RETURN]
|
);
Run Code Online (Sandbox Code Playgroud)

这是预期的结果:

$a = array(
    'one' => 123,[RETURN]
    |
);
Run Code Online (Sandbox Code Playgroud)

那么是否有可能强制编辑遵循我的缩进规则?

php eclipse-pdt zend-studio

7
推荐指数
1
解决办法
2769
查看次数

当在eclipse pdt中同步时 - 在比较php文件的版本时获得一个空白的灰色窗口

我已经为64位Linux安装了Eclipse PDT Helios SR1 GTK(Ubuntu Maverick干净安装).
我添加了Subversive插件以使用Subversion,并安装了SVNKit 1.3.2连接器.我使用的是Sun的java而不是OpenJDK版本.

当我同步的PHP项目,并双击一个PHP文件比较比较基础版本我做了分歧 - 它会打开一个比较文件的窗口,但窗口是空的 - 我看到灰色的背景,如果没有文件打开.

当我打开未设置为PHP文件的文件时,它工作正常.(如果我要一个.module扩展名的文件,并把它定义为在内容类型偏好设置面板的PHP文件,它会严重如上所述采取行动.如果我会删除此定义,它会工作[好像我比较纯文本文件]).

任何人都知道为什么会这样?
如果我错过了任何有助于诊断或解决此问题的重要信息,请知道并且我会添加它.

谢谢.

php eclipse subversive eclipse-pdt synchronize

7
推荐指数
1
解决办法
1648
查看次数

通过ssh隧道转发端口9000的xdebug远程调试 - 如何使其工作?

我在Amazon EC2云中的"Amazon Linux"(Centos派生的)32位实例上运行XAMPP 1.7.3a.我下载/构建/安装了XDEBUG 2.1.0.phpinfo()输出中的相关项如下所示:

Directive                         Local Value  Master Value
xdebug.idekey                     ECLIPSE_DBGP ECLIPSE_DBGP
xdebug.default_enable             On           On
xdebug.remote_autostart           On           On
xdebug.remote_connect_back        Off          Off
xdebug.remote_cookie_expire_time  3600         3600
xdebug.remote_enable              On           On
xdebug.remote_handler             dbgp         dbgp
xdebug.remote_host                127.0.0.1    127.0.0.1
xdebug.remote_mode                req          req
xdebug.remote_port                9000         9000
xdebug.remote_log                 /opt/lampp/logs/xdebug_log
                                               /opt/lampp/logs/xdebug_log
Run Code Online (Sandbox Code Playgroud)

我使用PuTTY版本0.60中的SSH客户端从运行XP SP3的Windows笔记本电脑访问Linux机器.另外在笔记本电脑上我已经安装了Eclipse PDT(Helios Service Release 1 Build id:20100917-0705),我想我已经正确配置了使用端口9000进行XDEBUG远程调试.我说我,因为我'很难弄清楚如何做到这一点,以及如何使用Eclipse PDT.但我确实设法配置并使用端口9000在localhost(127.0.0.1)上使用XAMPP for Windows 1.7.3提供的网页运行的PHP代码的"远程"调试工作.服务器的phpinfo()输出在笔记本电脑,其PDT 能够调试是与上述相同,除了:

xdebug.idekey       my_username     no value
xdebug.remote_host  localhost       localhost
xdebug.remote_log   no value        no value
Run Code Online (Sandbox Code Playgroud)

我很确定这些差异与问题无关.事实上,xdebug.idekey最初是Linux上的"root novalue",然后我通过编辑php.ini并在启动apache的sudo-ed脚本中设置环境变量DBGP_IDEKEY来更改为ECLIPSE_DBGP,徒劳地希望让事情正常工作.

笔记本电脑和Linux机箱之间有防火墙和NAT路由器.所以我试图通过PuTTY ssh隧道使用端口转发来使Linux XDEBUG与Windows PDT通信.我一直在使用XT转发PuTTY几个月没有任何问题.我在PuTTY中设置了隧道,本地端口9000转发到Linux机箱上的9000端口,Linux机箱上的端口9000转发到127.0.0.1上的端口9000,PuTTY隧道面板显示:

L9000  host...amazonaws.com:9000
R9000 …
Run Code Online (Sandbox Code Playgroud)

php xdebug eclipse-pdt

7
推荐指数
1
解决办法
2万
查看次数

为什么我在Eclipse中看不到我的PHP文件的TODO?

为什么我在Eclipse中看不到我的PHP文件的TODO?

我在PDT中遇到了这个问题,我只是想把答案放到别人也这样做的情况下.

php eclipse eclipse-pdt task todo

7
推荐指数
1
解决办法
2043
查看次数

Eclipse PDT(Helios) - 防止CSS编辑器使用大括号自动关闭规则

有没有人知道在编辑CSS文件时哪里可以找到禁用自动插入关闭花括号的首选项?现在输入'div.classname {line-break line-break}'对我来说是第二天性,但是对于最新版本的Eclipse PDT,我总是这样做:

div.classname {

} /* <- extra bracket! Bad! */
Run Code Online (Sandbox Code Playgroud)

}

...因为编辑器会自动为您插入右括号.我似乎无法摆脱这种习惯,坦率地说,我不想摆脱输入语法正确代码的习惯.我已经能够关闭编辑js和php文件的所有打字辅助内容,但似乎没有类似的CSS文件偏好.有没人遇到过它?

提前谢谢了.

eclipse eclipse-pdt

7
推荐指数
0
解决办法
239
查看次数

xdebug断点可以工作,但跳过不会

我在Windows上安装了Xampp(实际上是xampp和wamp都有,但两者都有相同的问题),并启用了xdebug.我已经安装了包含pdt的最新eclipse for eclipse.断点正常工作但是如果我按f6或f5当前行没有更新,变量就会改变,好像我已经走到下一行,但突出显示的行保持不变.有任何想法吗?

我附上一些截图,以便更容易理解:

断点有效:

在此输入图像描述

我在'Debug'和'Variables'窗口中按f6,lineno和$ a更改:

在此输入图像描述

我再次按f6:

在此输入图像描述

我尝试更新到最新的xdebug,但同样的事情发生了.

php eclipse xdebug eclipse-pdt

7
推荐指数
1
解决办法
3858
查看次数