Eclipse PDT, как мне получить файлы на сервере? - PullRequest
1 голос
/ 19 сентября 2010

Я пытаюсь узнать, как использовать Eclipse Helios PDT, но я не понимаю, как получить файлы из их рабочей области на сервер.Документация PDT крайне скудна.

У меня есть мое рабочее пространство в / home / bob / workspace, и мой локальный web-корень разработчика - /home/bob/public_html.

Если я настроил конфигурацию запускадля моего проекта php я вижу, где я могу установить путь к серверу и т. д., но я не вижу очевидного способа автоматического копирования файлов в мой webroot для фактического запуска проекта.Если я нажимаю на кнопку «запустить», я просто получаю 404 в браузере.

Например, с помощью NetBeans вы можете настроить проект PHP для копирования при сохранении на локальный веб-сервер, FTP на сервер и т. Д. Разве PDT не имеет какой-либо аналогичной функциональности?

Ответы [ 6 ]

2 голосов
/ 16 февраля 2011

Я никогда не использовал управление исходным кодом для передачи файлов на рабочий сервер, но это звучит интересно.Я использую 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 голос
/ 20 декабря 2010

Можно вместо того, чтобы хранить локальный проект в рабочей области Eclipse, иметь проект непосредственно «на сервере» - например, «Подключить сетевой диск» к серверу, имеющему файлы (если это сервер Unix, и вызапрограммируйте в windows, затем используйте Samba на сервере unix).Таким образом, когда вы сохраняете изменение, вы фактически изменяете его непосредственно на сервере, и, следовательно, это изменение будет немедленно отражено при обновлении браузера.

1 голос
/ 20 сентября 2010

Я бы порекомендовал вам на самом деле не настраивать FTP / SFTP и вместо этого использовать управление исходным кодом для отправки файлов на рабочий сервер: Git / GitHub, Subversion / Google Code и т. Д. Вы также получите дополнительное преимущество возможность записи / изменения / возврата, и вы избавитесь от соблазна быстро взломать сервер, который не отражен в ваших локальных файлах.

0 голосов
/ 17 октября 2014

Боб, если вы устанавливаете плагин Aptana, тогда идите в show view => Studio => App Explorer. Вы увидите кнопку с изображением окна. Если вы нажмете эту кнопку, появится кнопка мастера веб-развертывания. Вы можете использовать его для автоматической загрузки.

0 голосов
/ 07 марта 2011

Еще один совет для быстрого и грязного решения: используйте символическую ссылку в каталоге документов вашего веб-сервера по умолчанию который будет указывать на каталог вашей рабочей области.

Это нормально (с моей точки зрения) только для среды разработки.

Чтобы создать символическую ссылку: ln -s / home / bob / workspace / your_project_name / home / bob / your_project_name

Также убедитесь, что для веб-сервера существуют разрешения на чтение и выполнение для всех элементов пути. Вы можете настроить разрешения с помощью chmod.

0 голосов
/ 20 февраля 2011

Как насчет обратного «вытягивания» развертывания?

После того, как вы перейдете к управлению исходным кодом (например, svn), на сервере вы можете выполнить извлечение / обновление svn для развертывания кода на своем месте с вашего сервера svn.

Если у вас нет проблем с сохранением некоторых учетных данных svn только для чтения, у вас может даже быть какая-то страница развертывания .php, которая выполняет команду обновления svn

Это очевидно излишне для локальной среды разработки (просто укажите apache на свое рабочее пространство), но оно гарантирует, что вам нужно передать все в svn перед развертыванием (что дает дополнительное преимущество регистрации каждого изменения на веб-сайте.)

...