簡體   English   中英

Eclipse PDT,如何獲取服務器上的文件?

[英]Eclipse PDT, how do I get the files on the server?

我正在嘗試學習如何使用Eclipse Helios PDT,但我不明白如何將文件從工作區獲取到服務器。 PDT文檔非常稀少。

我的工作區在/ home / bob / workspace中,我的本地開發webroot是/ home / bob / public_html。

如果我為我的php項目設置運行配置,我會看到我可以在哪里設置服務器的路徑等,但我沒有看到任何明顯的方法將文件自動復制到我的webroot以實際運行項目。 如果我點擊運行,我只需在瀏覽器中獲得404。

例如,使用NetBeans,您可以將PHP項目配置為保存到本地Web服務器,FTP到服務器等.PDT是否沒有某種類似的功能?

我從來沒有真正使用源代碼控制將文件推送到生產服務器,但這聽起來很有趣。 我做的是使用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以在本地看到更改還要多一步,但它使其他地方的部署更加簡單。

玩得開心!

我建議您實際上不要設置FTP / SFTP,而是使用源代碼控制將文件推送到生產服務器:Git / GitHub,Subversion / Google Code等。您還可以獲得能夠獲得的附帶好處記錄/差異/恢復,你將消除在服務器上快速破解本地文件中沒有反映的誘惑。

您可以考慮在Eclipse Workspace中保留一個本地項目,將項目直接“放在服務器上” - 例如“將網絡驅動器”映射到具有文件的服務器(如果這是一個unix服務器,並在windows中編程) ,然后在unix服務器上使用Samba)。 因此,當您保存更改時,實際上是在服務器上直接更改它,因此當您刷新瀏覽器時,更改將立即反映出來。

鮑勃,如果你安裝了Aptana插件,那么去show view => Studio => App Explorer你會看到一個框查看按鈕。 如果單擊此按鈕,則會顯示Web部署向導按鈕。 您可以使用它來自動上傳。

反向“拉”部署怎么樣?

一旦您提交源代碼控制(例如svn),您就可以在服務器上發出svn checkout / update,以便從您的svn服務器部署代碼。

如果您在保存一些只讀svn憑證時沒有問題,您甚至可以使用某種部署.php頁面來執行svn update命令

對於本地開發環境來說這顯然是過度的(只需將apache指向您的工作區),但它確保您必須在部署之前將所有內容提交到svn(這樣可以記錄網站上的每個更改。)

快速而骯臟的解決方案的另一個提示:在默認的Web服務器文檔目錄中使用符號鏈接,該目錄將指向您的工作區目錄。

對於開發環境,這是可以的(我的觀點)。

創建符號鏈接:ln -s / home / bob / workspace / your_project_name / home / bob / your_project_name

還要確保對於路徑的所有元素,Web服務器都存在讀取和執行權限。 您可以使用chmod調整權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM