Phpstorm не отправляет файлы после сохранения ftp
Хотелось бы протестировать IDE PhpStorm для работы, но я уже застрял в процессе импорта. Я использую dev-сервер с проектом Zend Framework 2, который я хотел бы добавить по ftp.
(всего пара файлов, у которых произошел сбой)
Что просходит? Кажется, что файлы загружаются, но не их содержимое? разрешения и т. д. хороши, я могу без проблем добавлять / редактировать этот проект в Aptana или Zend Studio.
4 ответа
Просто попробуйте включить "пассивный режим":
Tools -> Deployment -> Configuration -> Advanced options -> [FTP-server/FTP] -> enable "Passive mode" checkbox!
(моя сборка PHPStorm - 139.1348)
Это исправило мои проблемы с "Не удалось передать файл" с использованием FTP.
Никакой реальной подсказки - но происходит случайно. Лично для меня это произошло только два раза, начиная с v1 .. и то и другое при переносе на хост Linux (моя обычная цель развертывания - на платформе Windows, IIS FTP, где я никогда не видел такой проблемы)
Исправление для SFTP (нет возможности установить пассивный режим для SFTP):
- Перейдите в: Файл -> Настройки -> Сборка, выполнение, развертывание -> Развертывание -> Параметры.
- снимите галочку с опции "Сохранять временные метки файлов".
Протестировано в сборке PHPStorm 2019.3.
Та же проблема произошла со мной, я включил пассивный режим в phpstorm, и это сработало.
Не удалось загрузить приложение на основе Zend Framework v1 с использованием PhpStorm несколько раз. Я пробовал это несколько раз, используя несколько небольших версий PhpStorm в течение нескольких месяцев.
Весь мастер проекта кажется беспорядком. Все мои проекты размещены удаленно доступны через SFTP. Я не разрабатываю под Windows, когда продукт должен быть размещен на сервере Linux.
Мастер импорта даже не начинает сканировать удаленные файлы для загрузки после завершения мастера слишком часто. В таких ситуациях мне нужно перезапустить мастер импорта, предоставив то же или другое имя проекта, выбрав тот же сервер, добавленный ранее, и выбрав файлы для загрузки. Мастер завершения в это время обычно начинает сканирование и загрузку файлов.
Но до сих пор мне не удавалось импортировать проекты, включая Zend Framework, таким образом, используя PhpStorm. Мастер проекта исчезает, индикатор прогресса сканирования появляется на секунду или нет, а затем PhpStorm просит выбрать режим для создания / импорта проекта снова. Ранее завершенный проект не указан в левом списке и не выводится никаких ошибок, поэтому PhpStorm, по-видимому, не может распознать, что что-то пошло не так.
Какой беспорядок за 180 евро. пожертвуйте эту сумму в stackru вместо того, чтобы вернуть что-то сюда!
РЕДАКТИРОВАТЬ: Некоторые утверждения, что-то не так. Я люблю Java . вот почему я направляюсь в PHP. Не говорите, что это связано с использованием Java 1.7 для java === portable и я отказываюсь иметь кучу разных Java RE только потому, что у всех хороших инструментов Java есть проблемы с одним из них или с другим. переносимым. да!
В этой статье я расскажу о том, как в PHPStorm настраивать FPT/SFTP-подключения для работы с файлами на удалённом сервере. После прочтения этой статьи вы будете знать, как в PHPStorm работает загрузка файлов на сервер. Как добавить несколько FTP-подключений и одновременно загружать файлы на все настроенные сервера.
Для чего это нужно
Очень часто так бывает, что вы разрабатываете проект локально, и после приобретения проектом лицеприятного вида появляется необходимость в публикации этого сайта на хостинге, или личном сервере. Допустимый вариант - использовать фтп-менеджер, по типу FileZilla, WinSCP, или им подобные. И с их помощью загружать файлы на сервер, как только вы закончите работу. Однако, во-первых, иногда очень напрягает постоянные переключение между вкладками, особенно, когда правки происходят в режиме лайф. И, во-вторых, PHPStorm имеет встроенный функционал по работе с удалёнными серверами, и, во-многом, мощнее большинства файловых менеджеров.
Благодаря PHPStorm-у теперь можно настроить подключения к удалённому серверу, настроить автоматическую загрузку файлов и их синхронизацию, можно редактировать удалённый файлы по FTP прямо из любимой IDE. В общем, что только не делают разработчики IDE, только бы мы писали качественный код. Потому, преимущества использования встроенных инструментов, по сравнению с FileZilla и компанией - есть.
Настройка FTP-подключения в PHPStorm
Для демонстрации процесса настройки FTP в PHPStorm я создам новый проект, а так же, создам новый дроплет на DigitalOcean, на который буду загружать файлы проекта.
Прежде всего, нужно настроить FTP соединение с удалённым сервером. Для этого нужно перейти в меню настроек File > Settings , где открыть вкладку Build, Execution, Deployment > Deployment , и нажать на кнопку добавления нового подключения:
Где во всплывающем меню будет предложено выбрать тип подключения, который мы будем использовать: FTP , FTPS , SFTP :
Какую опцию выбирать зависит от того, куда вы подключаетесь. Грубо говоря, если у вас собственный сервер, и к примеру, вы хотите подключиться от имени root-а, или другого пользователя на сервере, то нужно выбрать SFTP .
Если вы подключаетесь к shared-хостингу, то они обычно предоставляют доступ только по FTP .
И указав имя, получим такое окно с настройками, на котором остановимся подробнее:
где 1 - это опция, которая указывает на то, будет ли доступен этот сервер в других ваших PHPStorm-проектах. То есть, вы можете настроить это подключение один раз, и выставив эту галочку, работать в любом своём проекте, не настраивая его повторно в других проектах
2 - тип подключения, который указывали шагом назад (который можем изменить в любой момент)
3 - хост, к которому подключаемся
4 - порт сервера (для SFTP обычно 22, но на сервере можно настроить какой угодно)
5 - имя пользователя
6 - пароль (и галочка сохранить пароль, чтобы не вводить его повторно)
После того, как указали все параметры, нужно протестировать это подключение на корректность введённых данных, нажав на кнопку Test Connection (соглашаясь со всеми всплывающими окнами).
Теперь осталось только настроить пути к проекту, папку выгрузки на сервер. Здесь нужно указать, в какой директории на сервере находятся файлы вашего проекта. К примеру, на VDS, файлы, обычно расположены по пути /var/www/html , если это хостинг, то username/public_html , public_html , или что-то типа того. Потому укажем путь, нажав на кнопку:
Теперь, последний шаг для удачного деплоя - укажем путь, куда будут загружаться файлы. Для этого нужно перейти на вкладку Mappings и выбрать путь Deployment path (обычно, при указанном пути к проекту на предыдущей вкладке, Deployment path задаётся как / ).
Если вы хотите, чтобы на удалённый сервер заливался проект, без определённых папок/файлов, то можете указать исключения на вкладке Excluded Paths , какие папки/файлы будут игнорироваться при деплое.
Готово! Нажимаем OK , и сервер добавлен.
Подключаемся к настроенному серверу
Подключение мы настроили. Но пока непонятно, как к нему подключиться. Для того, чтобы появилась удобная панель работы с FTP-серверами, откроем в меню Tools > Deployment > Browse Remote Host , в результате чего, появится новая панель Remote Host , которую можете открыть кликнув по ней
И всё, теперь мы полноценно настроили подключение по FTP, и можем из PHPStorm загружать, или редактировать файлов на удалённом сервере. Удобство в том, что можно перенести файлы на сервер либо выделив все нужные локальные файлы, скопировав Ctrl + C , перевести фокус на удалённый сервер, и Ctrl + V .
Или же, выделив нужные файлы, нажмите правую кнопку мыши, Deployment > Upload to .
Теперь в правом меню Remote Host , в списке файлов сервера появятся ваши файлы, которые вы можете открывать, и редактировать по фтп. И к примеру, если вы открыли файл, отредактировали его, то редактор сам подскажет вам, что в файле были произведены изменения, которые стоило бы залить на сервер. И для того, чтобы загрузить изменения на FTP сервер, нужно нажать на кнопку:
Как синхронизировать файлы по фтп с удалённым сервером
Теперь мы уже знаем, как можно добавлять и редактировать файлы в PHPStorm по FTP. Осталось только настроить проект таким образом, чтобы была возможность загружать файлы на сервер без подтверждения, без постоянных кликов на кнопку загрузки файлов. То есть, чтобы мы могли отредактировать файл локально, и он, в лайв режиме загрузился на сервер без дополнительных подтверждений с нашей стороны.
Для этого опять зайдём на страницу настроек File > Settings , настройки деплоя Build, Execution, Deployment > Deployment > Options
где 1 - режим загрузки файлов при их изменении:
- Always - синхронизировать сразу же при изменении
- On explicit save action - загрузка на сервере при нажатии Ctrl + S
- Never - не синхронизировать
2 - режим поиска и разрешения конфликтов версий файлов:
- No - загружать локальный файл на сервер без дополнительных проверок
- Compare timestamp & size - сравнивать дату изменения локального файла с серверным, или его размер
- Compare content - сравнивать содержимое файла с его предыдущей версией
То есть, когда PHPStorm обнаружит, что за то время, пока вы редактировали свой файл локально, его кто-то изменил на сервере. И, если настроено разрешение конфликтов версий файлов, то он уведомит вас о том, файл отредактирован кем-то, чтобы вы не затёрли чужие правки. Удобно, когда над проектом работает несколько человек.
Применив все настройки и отредактировав локальный файл, можем убедиться, что изменения на сервер были отправлены незамедлительно. И теперь вы знаете, как насроить лайв синхронизацию файлов с сервером в PHPStorm.
Загрузка файлов не несколько серверов одновременно (группа серверов)
Иногда возникает необходимость в загрузке файлы одновременно на несколько удалённых серверов. И в этом PHPStorm нам может здорово помочь. Для того, чтобы из PHPStorm-а деплоить файлы на несколько серверов, нам нужно создать группу серверов для деплоя.
Для того, чтобы создать такую группу серверов, откроем панель File > Settings , и перейдём на вкладку Build, Execution, Deployment > Deployment , где нажмём на кнопку добавления нового сервера (как было в предыдущих шагах), только в этот раз выбираем опцию Server group
Во всплывающем окне укажем имя для этой группы серверов, после чего, можем начать добавление сколько угодно серверов в эту группу:
Я, для этих целей создал 2 новых сервера, чтобы продемонстрировать работу с несколькими серверами из PHPStorm. Я добавил их в текущую группу серверов, указав нужные данные для подключения, пути к проекту, и путь для деплоя (как в предыдущей секции статьи).
В итоге, группа из двух сервером выглядит так:
Теперь, когда всё настроено, можем выделить нужные файлы проекта, которые необходимо залить, нажать ПКМ, и в контекстном меню Deployment кликнуть Upload to . server group
Нажав на кнопку, запустится процесс деплоя на каждый из этих серверов. Если же, вам понадобится загрузить только на один сервер из этой группы, то в том же меню Deployment , можете выбрать Upload to. , во всплывающем окне, выбрав нужный сервер
На момент создания группы серверов у вам уже могут иметься добавленные сервера. Вы можете переместить их в группу, используя drag-n-drop.
Если в PHPStorm не работает drag-n-drop, то попробуйте, используя зажатую кнопку Alt .
Так же важно понимать, что относительно группы серверов так же работает автоматическая синхронизация файлов с вашим проектом (если она настроена).
Резюме
Теперь вы знаете, как в PHPStorm работать по FTP, как работает загрузка файлов одновременно на несколько серверов, как всё это настраивать и успешно применять в своей работе. В этой статье я, для демонстрации использовал демо-сервер, который заказывал на DigitalOcean. И если вам нужен дешевый и качественный сервер (топ за свои деньги), то приглашаю вас зарегистрироваться по инструкции из этой статьи, и получить дополнительные 50$ на использование их услуг.
Предположим что вы работаете над сайтом и у вас есть две версии: на локальном компьютере и на удалённом сервере. Часто возникает необходимость соединяться с удалённым сервером по FTP и выгружать новые файлы сайта с локального компьютера. Сейчас я расскажу как упростить эту процедуру и сэкономить кучу времени.
Вот классический пример обновления сайта по FTP:
- Вы подключаетесь к FTP серверу с помощью специальной программы, например FileZilla
- В программе вы ищете файлы, которые изменили
- На удалённом сервере ищете файлы, которые надо заменить
- Заменяете файлы
Это неблагодарная работа, которая занимает кучу времени, к тому же это ненадёжно, т.к. какие-то файлы вы можете пропустить. К счастью, в PHPStorm присутствует возможность автоматизировать этот процесс.
Настройка FTP соединения в PHPStorm
Шаг 1
Шаг 2
Шаг 3
Шаг 4
Наверняка вам захочется исключить некоторые папки или файлы для выгрузки, это могут быть, например, файлы IDE, файлы конфигурации, или ещё что-то.
Можно добавить в исключения сколько угодно путей таким образом.
Шаг 5
Видеоинструкция как настроить FTP соединение в PHPStorm
Здравствуй дорогой читатель! Я рад приветствовать тебя на страницах моего блога. Уже несколько лет я занимаюсь веб-программированием и рад поделиться с тобой своими знаниями и советами. Если тебе понравились мои статьи, ты можешь подписаться на рассылку блога, из неё ты узнаешь много интересного!
Да, это можно делать почти любым ftp-файловым менеджером. Но согласитесь, ведь куда удобнее, когда писать код и выгрузку можно делать в одной программе.
Хотел бы протестировать IDE PhpStorm для работы, но я уже застрял в процессе импорта .. Я запускаю dev-сервер с проектом Zend Framework 2, который я хотел бы добавить к ftp.
(всего пара всех файлов, которые провалились)
Что же происходит? Кажется, что файлы загружаются, но не их содержимое? разрешения и т. д. хороши, я могу добавить/отредактировать этот проект без каких-либо проблем в Aptana или Zend Studio.
4 ответа
В настоящее время я использую PHP в файле Cron для анализа записей из базы данных MySQL и форматирования данных в соответствии со сторонними спецификациями (файлы CSV). Я генерирую текстовые файлы без проблем, но когда я иду к FTP, ftp_connect() возвращает false. Некоторое время он работал; файл.
У меня есть проект в PhpStorm. Я нажимаю upload to ftp в корневой папке, и все файлы загружаются на сервер. Затем я работаю над этим проектом – скажем, изменяю один файл. Когда я нажимаю upload to ftp сейчас, я вижу, что все файлы загружаются снова – но они не изменяются после последней загрузки.
Просто попробуйте включить " пассивный режим ":
Tools -> Deployment -> Configuration -> Advanced options -> [FTP-server/FTP] -> enable "Passive mode" checkbox!
(моя сборка PHPStorm-это 139.1348)
Это исправило мои проблемы с "Не удалось передать файл" с помощью FTP.
Никакой реальной зацепки-но происходит случайным образом. Для меня лично это произошло только дважды, начиная с v1 . и оба раза при переносе на хост Linux (моя обычная цель deployment работает на платформе Windows, IIS FTP, где я никогда не видел такой проблемы).
Исправлено для SFTP (нет возможности установить пассивный режим для SFTP):
- Перейдите в раздел: Файл - > Настройки - > сборка, выполнение, Deployment - > Deployment - > параметры
- снимите флажок с параметра "Preserve files timestamps".
Протестировано в PHPStorm build 2019.3.
та же проблема произошла и со мной, я включил пассивный режим в phpstorm, и это сработало.
Похожие вопросы:
В данный момент я пробую PHPStorm от Jetbrains, который, по-моему, является потрясающим IDE. Единственное, на что я жалуюсь, - это то, что я всегда боюсь переписать изменения, сделанные другими.
Я пытаюсь настроить свой PHPstorm с FTP так, чтобы после сохранения файла он должен быть загружен на хост. Я могу подключиться (я сделал тест), но я не могу загрузить файл, если я не изменю.
Я только что переключился на php редактор PhpStorm. С другими редакторами, которые я использовал, редактирование файлов через ftp шло следующим образом: Просмотрите файл в explorer Откройте файл в.
В настоящее время я использую PHP в файле Cron для анализа записей из базы данных MySQL и форматирования данных в соответствии со сторонними спецификациями (файлы CSV). Я генерирую текстовые файлы.
У меня есть проект в PhpStorm. Я нажимаю upload to ftp в корневой папке, и все файлы загружаются на сервер. Затем я работаю над этим проектом – скажем, изменяю один файл. Когда я нажимаю upload to.
Каждый раз, когда я загружаю файл в FTP с PHPStorm, он говорит 'Logging in..', а затем загружает файлы. Все работает OK, но этот 'Logging in..' занимает кучу времени. Может ли он каким-то образом.
В deployment PhpStorm (7.1.2) не могу загрузить ни одного файла с FTP. Ошибка говорит "Failed to collect files: Could not determine the type of file" одновременно с GIF и файл php.
Я пытаюсь подключиться к удаленному хосту в PhpStorm 9 через FTP, и он подключается к хосту, но не отображает никаких files/directories. Я могу ftp и видеть файлы/каталоги просто отлично через.
Я создал учетную запись FTP на CPanel. Я также попытался настроить FTP на JetBrains PhpStorm, но не смог установить соединение. Я сделал FTP счетов, как показано ниже; FTP Username.
В настоящее время я использую phpDesigner 8. Мне нравится, что он может создать проект real remote FTP, phpDesigner не загружая все файлы проекта в локальный, он показывает мне удаленное дерево, и я.
Автоматическая загрузка измененных файлов на сервер - очень удобная опция PHPStorm. О том как ее настроить и пойдет речь в данной статье.
Если вы еще не настроили себе виртуальную машину и не создали Drupal проект, то можете ознакомиться с тем как это сделать
Настройки, которые будут приведены ниже предполагают что у Вас уже настроен сервер, на нем находятся файлы проекта и установлен PHPStorm.
Содержание
Создание нового соединения с удаленным сервером
Настройки синхронизации файлов сервера с локальными
Теперь настроим опции в каких случаях необходимо синхронизировать файлы с сервером. Для этого необходимо перейти на вкладку Tools → Deployment → Options через главное меню и в появившемся окне выставить необходимые параметры
Параметров довольно много, но наибольший интерес представляют следующие опции:
- Upload changed files automatically to the default server - автоматическая загрузка измененных файлов на сервер с возможными вариантами (загружать всегда, по горячей клавише Ctrl + S, либо не загружать вовсе).
- Upload external changes означает, что будут закачиваться файлы (папки) не только те, над которыми вы непосредственно ведете работу, но и те, которые, например, были добавлены раньше (и в данный момент на сервере отсутствуют).
- Warn when uploading over newer file - предупреждать при загрузке более нового файла. В зависимости от выбранного параметра из выпадающего списка, PHPStorm будет выполнять (предлагать) варианты разрешения конфликта. Возможные параметры:
- No - выберите эту опцию, если необходимо, чтобы локальные изменения текущего файла всегда перезаписывали файл на удаленном сервере, вне зависимости от того был он до этого изменен или нет.
- Compare timestamp and size - в этом случае PHPStorm будет выполнять проверку размера локального и удаленного файлов, а также время текущей модификации удаленного файла со временем последней синхронизацией на сервере. Если есть изменения, то появится окно с вариантами: смержить результат, проигнорировать либо переписать.
- Compare content - сравнение содержимого локального и удаленного файлов на наличие изменений. Если таковые имеются, как и во втором варианте, будет предложены пути разрешения конфликта.
- Notify about remote changes означает, что редактор будет показывать напоминание о том, что имеются различия в файлах. Данная опция доступна если предыдущая настройка была выставлена в Compare timestamp and size, либо в Compare content.
Можно также синхронизироваться вручную, вызвав контекстное меню по нужному файлу (папке) и выбрав пункт Deployment → Sync with Deployed to . . Опции Upload to . и Download from. отвечают за закачку на сервер и скачку с удаленного сервера соответственно.
Читайте также: