我在我的Ubuntu盒子上安装了用于PHP开发的Eclipse PDT(将Apache2作为服务器运行),
我尝试创建一个PHP项目并将其作为“PHP Web Application”运行,如图所示:
但是当我点击“运行”时,浏览器会弹出并发出404错误,说它无法找到localhost/test/newfile.php
。
Eclipe PDT有自己的内部网络服务器吗? (如果是这样,我尝试关闭我的Apache2,但仍然给出相同的错误)
最后,作为解决方法,我将工作区位置更改为“/ var / www”并在那里创建了我的项目。但想知道它是否是开发使用PDT的最佳方式?
答案 0 :(得分:3)
您提出的问题与Eclipse PDT没有直接关系,而是如何设置开发服务器。
我建议不要将项目移到webroot中,而是让Apache访问你的开发/项目目录。
有多种方法可以做到:
Alias
directive做类似的事情。Virtual Hosts
使网络服务器通过其域名指向您要查找的位置。然后,您可以在hosts file内为example.com.loc
创建“虚假”域名,以获取您网站的本地开发版本。mod_rewrite
(不是那么好的选择)。正如您所看到的,有多种方法可以以可管理的方式进行此操作。根据您的需要,符号链接变体可能最容易实现。如果您需要更高的安全性,Alias
指令同样易于实现。如果你更熟悉apache配置并且你需要更多地控制URL(某些软件是愚蠢的,它需要驻留在URL下面的顶部路径/
,否则虚拟主机开始有意义了,否则它就是没有工作(是的,废话,但虚拟主机然后来救援)。mod_rewrite
“解决方案”只是出于完整性的原因命名,如果你不坚定mod_rewrite
,它会更加惹麻烦而且,由于您不熟悉apache配置,请将其放在您的路旁,并忽略该建议。
所有这些方法都允许您在服务器上的静态网站旁边有一个或多个开发项目。我个人在我的devbox上配置了虚拟主机,而在我之前的devbox中我只是使用了别名指令。
请记住,如果您编辑了配置,则需要重新启动Apache服务:
$ sudo /etc/init.d/apache2 restart
最重要的是:在编辑配置文件之前,将其复制到备份文件名。始终在编辑之前备份配置文件。相信我,你不想放松工作设置;)