Eclipse PDT,如何获取服务器上的文件?

时间:2010-09-19 19:05:38

标签: php eclipse copy eclipse-pdt helios

我正在尝试学习如何使用Eclipse Helios PDT,但我不明白如何将文件从工作区获取到服务器。 PDT文档非常稀疏。

我的工作区在/ home / bob / workspace中,我的本地开发webroot是/ home / bob / public_html。

如果我为我的php项目设置运行配置,我会看到我可以在哪里设置服务器的路径等,但我没有看到任何明显的方法将文件自动复制到我的webroot以实际运行项目。如果我点击运行,我只需在浏览器中获得404。

例如,使用NetBeans,您可以将PHP项目配置为保存到本地Web服务器,FTP到服务器等.PDT是否没有某种类似的功能?

6 个答案:

答案 0 :(得分:2)

我从未真正使用源代码控制将文件推送到生产服务器,但这听起来很有趣。我的工作是使用ANT。

我发现通过将工作区直接放在服务器位置,它会创建大量隐藏文件,如果使用源代码控制,这些隐藏文件可以位于每个目录中。我只是将这些复制并粘贴到我的生产服务器中感觉不对...

所以: 我设置我的工作区以将代码放在一个位置,而不是在我的本地服务器上。当我准备测试时,我运行ant脚本。此脚本将我想要的所有文件都删除到服务器上。然后,如果我觉得它已准备就绪,我只需将这些文件移至生产(ftp或其他)。

这是我的本地蚂蚁脚本:

<?xml version="1.0" encoding="UTF-8"?>

<project default="init" basedir=".">

<target name="init">
    <echo message="Copying files to C:/Sandbox/xampp/htdocs"/>
    <sync todir="C:/Sandbox/xampp/htdocs">
        <fileset dir=".">
            <include name="**/*.html" />
            <include name="**/*.htm" />
            <include name="**/*.php" />
            <include name="**/*.css" />
            <include name="**/*.js" />
            <include name="**/*.jpg" />
            <include name="**/*.png" />
            <include name="**/*.gif" />
            <exclude name="env.php"/>
        </fileset> 
    </sync>
</target>

</project>

您会注意到我排除了一个名为“env.php”的文件。该文件包含特定的环境代码。像数据库名称这样的东西在本地和生产之间是不同的。

我意识到这比仅仅点击ctrl-s然后点击F5以在本地查看更改还要多一步,但它使其他地方的部署变得更加简单。

玩得开心!

答案 1 :(得分:1)

我建议您不要实际设置FTP / SFTP,而是使用源代码控制将文件推送到生产服务器:Git / GitHub,Subversion / Google Code等。您还可以获得附带好处能够记录/差异/恢复,你将消除在服务器上快速破解本地文件中没有反映的诱惑。

答案 2 :(得分:1)

您可以考虑不在Eclipse Workspace中保留本地项目,而是将项目直接“放在服务器上” - 例如“将网络驱动器”映射到具有文件的服务器(如果这是一个unix服务器,并且您在Windows中编程,然后在unix服务器上使用Samba)。因此,当您保存更改时,实际上是在服务器上直接更改它,因此当您刷新浏览器时,更改将立即反映出来。

答案 3 :(得分:0)

反向“拉”部署怎么样?

一旦您提交源代码控制(例如svn),您就可以在服务器上发出svn checkout / update,以便从您的svn服务器部署代码。

如果保存一些只读svn凭证没有问题,你甚至可以使用某种部署.php页面来执行svn update命令

对于本地开发环境来说这显然是过度的(只是指向你的工作区的apache),但它确保你必须在部署之前将所有内容提交到svn(这样可以记录网站上的每个更改。)

答案 4 :(得分:0)

快速而肮脏的解决方案的另一个提示:在默认的Web服务器文档目录中使用符号链接 这将指向您的工作区目录。

这对于开发环境来说是可以的(我的观点)。

创建符号链接:ln -s / home / bob / workspace / your_project_name / home / bob / your_project_name

还要确保对于路径的所有元素,webserver存在读取和执行权限。您可以使用chmod调整权限。

答案 5 :(得分:0)

鲍勃,如果你安装了Aptana插件,那就去show view =&gt; Studio =&gt; App Explorer您将看到一个框状按钮。如果单击此按钮,则会显示Web部署向导按钮。您可以使用此功能让它自动为您上传。