Phpstorm не видит файлы проекта
Я использую Windows 10 1903 и использую PHPStorm 2019.3 (последняя версия на тот момент, когда я задавал этот вопрос)
Я добавил запись в C:\Windows\system32\drivers\etc\hosts , чтобы получить имя, сопоставленное с localhost
Я могу пинговать это
В PHPStorm отладчик настроен на порт 63342. И я разрешаю неподписанные запросы (не уверен, действительно ли это дает эффект). Я не могу проверить "внешние соединения".
В PHPStorm я настроил развертывание на месте по умолчанию, используя порт хоста и отладчика.
Я убедился, что отображение находится на корневом пути
Я переименовал свой проект в соответствии с именем хоста (File / Rename Project . )
Я настроил интерпретатор PHP CLI и сделал доступным php.ini
Я отметил источник и каталог ресурсов
Я уверен, что я не открываю локальный файл в браузере, но использую кнопки для этого
В инструментах веб-разработчика я вижу, что IP-адрес 127.0.0.1
Я использовал следующие вопросы SO в качестве входных данных:
Я также попробовал:
Если я добавлю eigener-prozessor в качестве подкаталога, доступ к веб-сайту будет возможен, но ресурсы не могут быть загружены, поскольку они указывают на /css/something.css , именно поэтому я прошел все эти шаги.
У меня нет идей. Как настроить встроенный веб-сервер для обслуживания его содержимого в корне ( / )?
Пожалуйста, не предлагайте обходных путей, таких как «использовать Apache» или «изменить путь к своим ресурсам». Я заплатил за программное обеспечение и ожидаю, что встроенный веб-сервер будет работать.
2 ответа
Если я что-то не так понял, простой способ добиться того, что вам нужно, - это создать пользовательскую конфигурацию запуска типа PHP Built-in Web Server :
Трюк с файлом hosts больше не работает, следуйте WEB-38141 для обновлений. Таким образом, в настоящее время нет способа настроить встроенный веб-сервер для обслуживания файлов из корневого каталога.
I'm using PhpStorm 6.0.3, and it doesn't show any directories in the Project Tool Window. They were there just a minute ago but I managed to make them disappear by clicking or shortkey on accident.
They are there in the file system - I see them in Windows Explorer, but they just don't show up in PhpStorm. I have checked the Jetbrains documentation, checked the scope and tried deleting the project-settings (.idea-dir), but to no avail.
Does anybody have a suggestion on how to show them again? Or where I might have screwed up the settings? Thanks!
13 Answers 13
removing the .idea folder, and restarting the app did the trick for me
thx - just slight variation - i used this for webstorm and it only worked when I opened it from inside the dir. ie. wstorm . vs wstorm mydir - not sure reason - had to move on for now. cheers
Really awkward, but this works. It really sucks that simply opening a project doesn't work without this crazy hack.
This also resets all the other project settings, which might not be desirable. I would use it as a last resort.
Have you changed the scope dropdown value by any chance?
I have checked, it is on "project". By the way, if I look under project settings > deployment > directories then I see I have not excluded my dirs.
So, it's now a couple of months later and made the same mistake. Only this time I made 1 directory disappear and was accidentally pointed in the right direction by PhpStorm itself. I excluded the directory from the project, so it didn't show up anymore. Apparently exluded dirs are not saved in the project settings since re-creating the project didn't help.
Here is how I found it back: File > Settings > Project settings > Directories There I saw my dir flagged with a red icon, meaning excluded. Just right-click it and click 'exclude' once again. Tadaaaa it's back.
I can't believe I've overlooked it so many times.
This helped me a lot. Just add a little comment so mac users can also find what they are looking for instead of file > settings > project settings > directories, mac users need to look for PHPStorm > preferences> project > directories.
I also had this issue and found it was a permissions issue. I couldn't track down the exact spot but giving everything full permission fixed it. I ended up just starting a fresh project though
This was more-or-less my solution as well, except under Directories I ad not directories listed so I clicked "Added root directory" and selected my root folder and was back in business. Thanks for the direction.
У меня есть проект на PhpStorm. Я нажимаю upload to ftp на корневую папку, и все файлы загружаются на сервер. Затем я работаю над этим проектом - допустим, изменяю один файл. Когда я нажимаю кнопку " upload to ftp Сейчас", я вижу, что все файлы снова загружаются, но они не были изменены после последней загрузки.
Я не хочу выполнять автоматическую загрузку или явное действие сохранения . Установка перезаписать уточненные файлы в settings → deployment → options это НЕ проверяются .
Синхронизация с развернутым не является решением, потому что проект огромен, и сравнение каждого файла по содержимому - пустая трата ресурсов и времени.
Как загружать только измененные файлы?
Вы пробовали Сохранять временные метки файлов под Settings | Deployment | Options ? Кстати - зачем сравнивать «по содержанию»? Вы пробовали сравнивать по «отметке времени и размеру» - должно быть быстрее (хотя все равно медленнее, если веб-сайт большой и соединение медленное).
Если вы используете VCS - при отправке / фиксации измененных файлов должна быть возможность развертывать (загружать) файлы на сервер по умолчанию (я не уверен на 100% в этом, так как сам я не использую VCS - просто помните видя такие вещи).
Да, я пробовал сравнивать по метке времени и размеру. Но, похоже, несмотря на это, файлы сравниваются по содержанию. Может быть, для того, чтобы быстро отреагировать, когда раскрывающийся список меняется с «сравнивать по времени» на «сравнивать по содержанию». И скорость такая же (медленная). Нет, я не использую VCS. Я просто разрабатываю веб-сайт на локальном хосте, и когда значительная часть кода сделана - загружаю на рабочий сервер. Странно, что в PhpStorm нет такой простой функции. Я «сильно погуглил», но похоже, что решения нет. Возможно, я буду использовать сторонние инструменты для загрузки, но это неудобно с таким фантастическим PhpStorm.
Что ж . использование VCS определенно должно быть здесь более полезным: в IDE есть списки изменений, которые являются отличным инструментом для отслеживания измененных файлов. Я подумал: вы можете использовать функцию локальной истории, чтобы увидеть, какие файлы вы изменили с определенного периода времени (очень приятно видеть список таких измененных файлов / папок) .. но, к сожалению, там нет кнопки «Загрузить» (а я ХОЧУ ЭТО ТАМ САМ). Я знаю, что на это есть билет . но сейчас не могу его найти.
В любом случае: FTP (или лучше сказать: развертывание в целом) не является главным приоритетом для разработчиков PhpStorm (об этом упоминалось довольно много раз), поэтому для внедрения всех новых функций требуется время. Одна из «причин»: современные разработчики должны использовать VCS .. и VCS может выполнять развертывание (фиксация локально .. и проверка на удаленном сервере - может быть не так просто, как использование FTP и т.п., но определенно рабочее решение) . PS Сам я до сих пор не использую VCS, использую (S) FTP и сталкиваюсь с теми же проблемами (я просто помню, какие файлы были изменены .. или использую синхронизацию, так как проекты довольно маленькие)
Перейдите в File> Settings , в Project Settings выберите Deployment . Добавьте FTP-сервер и отметьте его по умолчанию. Щелкните ОК, чтобы закрыть диалоговое окно.
Теперь перейдите в Инструменты> Развертывание> Параметры . Выберите триггер действия, где вы видите: Автоматическая загрузка измененных файлов на сервер по умолчанию.
Я надеюсь, что это помогает!
Это не выход. Потому что после сохранения файла вы идете на тестирование. И только после нескольких циклов кодирования и тестирования вы хотите выгружать измененные файлы на сервер. Это ерунда загружать при каждом сохранении. Я выбрал решение git-ftp.
зафиксируйте свой проект с помощью PHPStorm (Ctrl + K)
он откроет окно с множеством опций, чтобы облегчить вам фиксацию
Кроме того, есть вкладка «После фиксации», где вы можете выбрать из серверов по умолчанию, которые вы ранее настроили (Инструмент> Развертывание), для загрузки файлов на
таким образом с помощью VCS на ваш сервер будут загружены только измененные файлы
Соглашения о передовой практике: PHPStorm разработан на основе того, что обычно считается «передовой практикой». Имея это в виду, многие аспекты развертывания лучше всего использовать при наличии системы контроля версий. Когда вы фиксируете через PHPStorm, диалоговое окно фиксации предоставляет параметры для явного развертывания файлов в списке изменений на конкретном сервере (значения по умолчанию можно настроить)
Альтернатива 1: есть опция «Синхронизировать с развернутым на вашем хосте », которую можно использовать для сравнения файлов вашего удаленного сервера с вашими локальными файлами. «Панель проекта» -> (щелкните правой кнопкой мыши папку или файл) -> Развертывание -> «Синхронизировать с развертыванием в . »
Эта опция запускает приложение сравнения, которое сравнивает выбранные вами файл / папки и подсказывает, какое действие следует предпринять (например, направление синхронизации к / от сервера развертывания).
Я использую эту функцию только для целевых наборов файлов, поскольку у нее есть проблемы с производительностью при работе с большими наборами файлов (например, со всем проектом в моем случае).
Альтернатива 2: Для небольших наборов файлов. Временно включите автоматическое развертывание с помощью параметра «Явное сохранение», а затем повторно сохраните файлы.
Так что, если вы не хотите развертывать после каждой фиксации, а развертывать только изменения после нескольких фиксаций ? Скажите, работаете ли вы над новой функцией с веткой? Можно ли как-нибудь загрузить все измененные файлы при обратном слиянии в мастер?
- если у вас включена интеграция с контролем версий, то измененные вами файлы будут помещены в список изменений.
Я предполагаю, что у вас уже настроен удаленный сервер. - Настройки-> Развертывание-> Параметры ["Загрузить внешние изменения"] = "Никогда" - Если у вас включена интеграция с контролем версий - Просмотр -> «Окна инструментов» -> Изменения - Щелкните правой кнопкой мыши список изменений и выберите " Загрузить на <сервер>"- в противном случае (VCS отключен) вручную загрузите измененные файлы, щелкнув правой кнопкой мыши" Загрузить на <сервер>"сервер>
@LanceCaraccioli У меня нет опции «Загрузить на сервер» в окне изменений. Это все еще работает в PHPStorm 7.1.3?
У меня 7.1.3. Я использую интеграцию p4 CVS. Я щелкаю правой кнопкой мыши список изменений, и последний раздел контекстного меню содержит «загрузить на <имя сервера по умолчанию>». Конечно, это требует, чтобы у вас был настроен сервер развертывания. Возможно, он также должен быть выбран в качестве сервера по умолчанию.имя>
Прежде всего, я не рекомендую использовать FTP для проектов, где требуется безопасность. (По FTP-соединениям пароль и данные передаются в незашифрованном формате, поэтому их можно легко украсть. Единственное исключение, когда загруженные файлы (возможно, пакеты) подписаны, а цифровая подпись проверяется на сервере перед тем, как что-либо с ними делать. Afaik. PHAR - это библиотека по умолчанию для этого, но относительно легко зашифровать и подписать любой zip-файл, если вы поместите подпись в имя файла. Не путайте цифровую подпись с хешем md5 или sha1.)
В простых проектах с FTP я использую git-ftp .
Установка (в окнах, но я думаю, что она работает и во всех системах)
Вы должны использовать .git-ftp-ignore файл, чтобы определить, что вы не хотите выгружать.
Обычно я использую git-ftp с хуками git merge и commit.
С этими git-ftp автоматически выгружается при любых изменениях главной ветки. Обычно я использую основную ветку только для релизов, для разработки я использую другие ветки .
Я использую PhpStorm 6.0.3, и он не показывает никаких каталогов в окне инструментов проекта. Они были там всего минуту назад, но мне удалось заставить их исчезнуть, случайно нажав или нажав горячую клавишу.
Они есть в файловой системе - я вижу их в проводнике Windows, но они просто не отображаются в PhpStorm. Я проверил документацию Jetbrains, проверил объем и попытался удалить настройки проекта (.idea-dir), но безрезультатно.
Есть ли у кого-нибудь предложения, как их снова показать? Или где я мог настройки напортачить? Спасибо!
Итак, прошло пару месяцев, и я совершил ту же ошибку. Только на этот раз я заставил исчезнуть 1 каталог, и сам PhpStorm случайно указал в правильном направлении. Я исключил каталог из проекта, поэтому он больше не отображался. По-видимому, исключенные каталоги не сохраняются в настройках проекта, поскольку повторное создание проекта не помогло.
Вот как я его нашел: Файл> Настройки> Настройки проекта> Каталоги. Там я увидел, что мой каталог отмечен красным значком, что означает исключено. Просто щелкните его правой кнопкой мыши и еще раз нажмите «исключить». Тадаааа он вернулся.
Не могу поверить, что я так много раз не обращал на это внимания .
Приведенные ниже методы показали, что они были успешными, но все же не смогли показать некоторые каталоги, которые были пустыми или имели несколько файлов.
- Синхронизировать каталог
- На вкладке Каталог не были исключены никакие каталоги.
Что сработало для меня, так это закрытие проекта, в котором возникла проблема, и повторное открытие его в другом окне проекта и выбор open in the current window
Файл -> Настройки -> Каталоги -> + Добавить корень содержимого
Вы можете удалить файл .idea / workspace.xml .
Перейдите к настройке PhpStorm ( Ctrl + Alt + s ) введите и выберите "типы файлов", а не "другие типы файлов"! (Редактор> Типы файлов) в «Игнорировать файлы и папки» удалите все необходимые расширения (я удаляю все!).
Примените его, и вы увидите все свои файлы в PhpStorm.
PHPStorm, похоже, делает это в случае пустых каталогов (по крайней мере, если вы активно удаляете файл внутри phpstorm).
В качестве временного быстрого исправления вы можете просто открыть папку в проводнике и создать любой пустой файл :
После этого убедитесь, что вы синхронизируете свой проект, щелкнув правой кнопкой мыши и выбрав «Синхронизировать»:
Это должно сделать вашу ранее скрытую папку видимой, и вы можете просто создать свой первый фактический файл, а затем просто удалить пустой файл.
Я только что столкнулся с этой проблемой в phpStorm 9, где я пытался создать проект из существующих файлов, но phpstorm не мог видеть каталог. Очень странно.
Вместо этого я пошел «создать новый проект» и вручную ввел в поле местоположения путь к существующему каталогу. На следующем экране он спросил что-то вроде «каталог существует, вы хотите создать проект из этих файлов?» и это сработало.
Я решил проблему так: Closed Webstorm -> Добавил файл в пустую папку с файловым браузером Windows -> Opened Web Storm -> Папка и файл были показаны.
Мои папки были скрыты PHPStorm, когда я использовал представление проекта:
Все файлы отображаются при переключении в режим просмотра файлов проекта:
Вот, как я это сделал это в PHPStorm 2016.
Откройте диалоговое окно настроек / предпочтений, нажав ⌘ или выбрав Файл | Настройки для Windows и Linux или WebStorm | Предпочтения для OS X. Щелкните узел "Каталоги".
Мой USB-накопитель решил случайным образом отключиться, пока я открывал проект, затем я подключил его обратно, и никакие каталоги не отображались. Только файлы по умолчанию, такие как все файлы .git , .htaccess и index.php .
Перейдя в Файл> Настройки> Проект: Имя проекта> Каталоги . Корня содержимого больше не было. Мне просто нужно было нажать « Добавить корень содержимого », выбрать мою корневую папку, и я снова смог увидеть все :)
Также кажется, что люди исключили каталоги, такие как их корень содержимого или отдельные файлы, которыми можно управлять с помощью тех же настроек.
Я только что взял проект у другого разработчика, и я не знаю почему, возможно, это потому, что я впервые удаленно подключаюсь к экземпляру EC2, но PhpStorm не распознает части путей к файлам в пространстве имен use. раздел.
Однако на экземпляре EC2 код работает очень хорошо, без ошибок.
Вот как это выглядит:
Почему «Обычный», «ORM», «Валидатор», «Ограничения», «Пользователь» и «Коллекции» выделены красным?
Есть ли дополнительная настройка, которую мне нужно сделать в PhpStorm?
Я знаю, что эти каталоги есть, например, пространство имен «use App \ Entity \ User» учитывается в файле сущности «Пользователь»:
Действительно ли эти файлы доступны в коде вашего локального проекта? Я имею в виду - если вы загрузили только несколько файлов . тогда да, поскольку IDE не может индексировать эти отсутствующие файлы, она будет отмечать такие недоступные классы как неизвестные.
Привет, LazyOne, я только что обновил вопрос, добавив изображение, показывающее, что папки там.
Обычно такое выделение отображается, когда IDE не видит эти другие классы. Вы упомянули "удаленный EC2" . Все ли эти файлы локальные? Вы скачали весь проект на локальный диск и таким образом работали с файлами . или это какое-то удаленное редактирование на месте (когда файл редактируется удаленно)? Он не должен показывать такие вещи для локальных файлов .
Нет, я просто работаю прямо с экземпляра. Или я уверен, что он, вероятно, создает временную папку / файлы, которые затем загружаются при сохранении.
Что ж . если весь код является локальным . и эти классы не используются только в аннотациях (см. Ответ Ástþór; который не выглядит на первый взгляд . но затем - снимок экрана показывает только небольшой фрагмент кода и поэтому не может быть уверен в что) .. тогда я предлагаю попробовать File | Invalidate Caches. и перезапустить IDE.
Перечитав ваш последний комментарий: «Нет, я просто работаю прямо над экземпляром». Итак .. весь код удален? Тогда ожидается (такое поведение): IDE сначала нужно проиндексировать эти классы, иначе они будут отмечены как неизвестные. P.S. Если я все еще ошибаюсь / неверно интерпретирую вашу ситуацию . тогда мне нужен перерыв, и вам нужно правильное (легкое для понимания) объяснение вашей настройки.
Когда я нажимаю на «Файл», у меня не появляется опция «Недействительные кеши».
Мое предложение: загрузите проект все локально (файлы PHP - пока игнорируйте код / изображения css / html / js, если проект слишком большой) и попробуйте открыть его таким образом.
Читайте также: