我正在尝试学习如何使用Eclipse Helios PDT,但我不明白如何将文件从工作区获取到服务器。 PDT文档非常稀疏。
我的工作区在/ home / bob / workspace中,我的本地开发webroot是/ home / bob / public_html。
如果我为我的php项目设置运行配置,我会看到我可以在哪里设置服务器的路径等,但我没有看到任何明显的方法将文件自动复制到我的webroot以实际运行项目。如果我点击运行,我只需在浏览器中获得404。
例如,使用NetBeans,您可以将PHP项目配置为保存到本地Web服务器,FTP到服务器等.PDT是否没有某种类似的功能?
答案 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部署向导按钮。您可以使用此功能让它自动为您上传。