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