Phpstorm не распознает php файлы
This just isn't my day as far as configuring PhpStorm. In settings, under Languages & Frameworks > PHP > CLI Interpreter, when I enter the path to my PHP executable it says "PHP version: Not installed". (The path is C:\Users\[MYUSERNAME]\PHP\current\php.exe.) When I click the refresh icon next to the path I get the message "Failed to parse validation script output". There's nothing wrong with the executable. In cmd.exe I enter "php --version" and get this output:
PHP 7.4.3 (cli) (built: Feb 18 2020 17:29:57) ( NTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
Restarting PhpStorm didn't help.
Ответы 8
Вы должны поместить phpcs.bat и phpcs в свою папку PHP - например, d:\program\php\phpcs . Сам CodeSniffer должен находиться в d:\program\php\PEAR\PHP\CodeSniffer - там будет скрипт autoload.php и подпапка src .
Затем в Settings -> Languages & Frameworks -> PHP -> Code Sniffer указываете путь к phpcs.bat и Validate к нему.
Затем в Settings -> Editor -> Inspections вы найдете узел PHP Code Sniffer validation и активируете его. После включения вы сможете настроить его - в частности, выбрать стандарт кодирования.
Это мой phpcs.bat
Это мой PEAR_ENV.reg , который я импортировал в реестр Windows.
Сделал как в вашем описании, но не могу Validate
Спасибо! Установил все новое с грушей и теперь работает. Но до сих пор не знаю, в чем дело :)
@TedLogan Как вы устанавливали PEAR на windows?
Я использую OpenServer с PHP 7.0-64x В моем Env есть только композитор и PHP. вары.
но прежде чем я протестировал его в консоли, все было в порядке версия phpcs: 3.3.2 (последняя на сегодняшний день) что-то вроде этого:
C:\OpenServer\domains\phpWorkingWithFiles\vendor\bin>phpcs --standard=PSR2 C:\OpenServer\domains\phpWorkingWithFiles\classes\Recipe.php
C:\OpenServer\domains\phpWorkingWithFiles>vendor\bin\phpcs classes/ --colors
Я только что взял проект у другого разработчика, и я не знаю почему, возможно, это потому, что я впервые удаленно подключаюсь к экземпляру 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, если проект слишком большой) и попробуйте открыть его таким образом.
Share
OK, I should clarify that this is only a problem when editing IDE settings (i.e., at the welcome screen, go to Configure > Settings). When I open a project and go to settings it verifies my PHP installation.
Thanks for the update! That's true, this issue may appear in "Settings for new projects" configuration window.
Just in case, here is a ticket about it:
- OK, I should clarify that this is only a problem when editing IDE settings (i.e., at the welcome screen, go to Configure > Settings). When I open a project and go to settings it verifies my PHP installation.
This tip REALLY needs to be in your installation instructions!
Put it here, like this
:2. Specify the PHP engine installation directory in the PHP Home field. Type the path manually or click the Browse button and choose the location in the Choose PHP Home dialog box, that opens.
PhpStorm displays the version of the PHP engine detected in the specified folder and the debugger associated with this PHP engine in the php.ini file.
- 2(a). If the message "Php version: not installed" appears and you know that you are pointing PhpStorm to the correct location of your PHP interpreter, try specifying that location in the File -> Settings dialog after creating a new project or opening an existing project. This is a known issue and we are working to fix it.
___
I just spent well over two hours trying to fix this, Googling multiple terms (you should see my search history on this!) and surfing Stack Overflow, Reddit, and every other relevant link that came up and THIS was the actual answer.
Until you fix it you need to let new users know that this may be their actual answer.
можно ли установить значение версии PHP, скажем 4.0+ и иметь функции выделения PHPStorm, которые не будут работать со старой версией? Например, для PHP4 это должно выделить static function etc. У меня есть установка PHP на моем компьютере, но я не хочу устанавливать более старую версию PHP для каждого небольшого скрипта, который я должен создать.
Итак, вы хотите выделить все куски кода, которые не будут работать в версии, которую вы пишете, верно? Это можно сделать в:
или в более новых версиях PhpStorm:
затем выберите свою версию, например, 7.0
Это очень полезно, когда ваш местный находится в 7.0, например, но производство находится в 5.5. Таким образом, phpstorm предупредит вас, какие части не будут работать в производстве.
В случае, если ваше поле отключено.
вероятно, ваши настройки " синхронизировать настройки IDE с композитором.формат JSON" включена
вы можете изменить свою версию PHP в
или отключить настройки в этом пути
*Если вы измените свой композитор.файл json - As Феликс Ганьон-Гренье прокомментировал, Имейте в виду, что это влияет на то, как пакеты потребуются позже
откройте диалоговое окно настройки, выбрав Файл | Настройки, нажмите кнопку PHP под Языки И Фреймворки. Откроется страница PHP.
теперь вы можете сделать 2 вещи:
- на открывшейся странице PHP вы можете установить "уровень языка PHP".
- вы можете установить версию PHP, которую вы хотите локально, например, установив пакеты, такие как wamp или xamp, а затем установите интерпретатор вашего PHP на странице PHP, которую вы открыли. Подробнее здесь
можно использовать ответ Алехандро Морено, но иногда вы не можете изменить уровень PHP из закрытого раскрывающегося списка.
вы можете отключить " синхронизировать настройки IDE с composer.флажок в JSON" с:
Файл - > Настройки - > языки и фреймворки - > PHP - > Composer
и после применения открытого
Файл - > Настройки - > языки и фреймворки - > PHP
здесь вы можете изменить уровень PHP с открытого раскрывающийся.
на Mac он находится под PHPStorm, предпочтениями, языками и фреймворками, PHP
вы можете установить это для каждого проекта, как это изложено @Alejandro Moreno.
существует также глобальная настройка, которая позволяет установить уровень языка PHP для всех новая проектов.
Файл --> Настройки для новых проектов --> языки и фреймворки --> PHP
здесь вы можете установить желаемый уровень для всех будущих проектов :-)
Я не знаю, что произошло, но подсветка синтаксиса для одного файла php перестала работать, а также изменился значок рядом с файлом. Он показывает текстовый файл вместо PHP.
Перейдите в Настройки | Типы файлов и убедитесь, что это конкретное имя файла НЕ назначено типу файла, отличному от PHP, то есть обычному тексту.
Вы, сэр . святой . это сводило меня с ума . Кому-то интересно, просто посмотрите в текстовые файлы, конечно же, в конце, у меня было около 10 файлов, которые сводили меня с ума . .WOOT! ТЫ ЖЖЕШЬ!
Вау, мой файл был в списке! Сумасшедший. Я бы не подумал проверить там, так как думал, что расширения являются шаблонами подстановки только в этом списке. Спасибо - у меня это сработало!
Спасибо @Scotty Wagoner
For some reason the entire filename was added to the Text file type.
Найдите свой файл в Settings | FileTypes | Text | RegisteredPatterns и удалите его.
Спасибо за это, Иисусе, я, очевидно, случайно добавил полное имя файла и тип из меню, которое я не помню, чтобы щелкнуть.
Я не уверен, что эта функция ограничена только phpStorm 9, но есть более простое решение: если расширение файла - .php, вы можете щелкнуть правой кнопкой мыши файл в меню просмотра проекта и выбрать «пометить как php». Это устранило проблему для меня.
Вау, спасибо! У меня были файлы, которые не соответствовали какому-либо определенному типу (значок был текстовым файлом с крестиком в углу, что бы это ни значило), поэтому я не мог их найти. Это сработало!
Прокрутите вниз до вызывающего проблемы типа файла (в данном случае PHP).
Затем найдите ожидаемое расширение файла (в данном случае .php).
Затем PHPStorm сообщит вам, что он сопоставлен с другим типом файла (тем, который вызвал эту проблему), и хотите ли вы вместо этого переместить его в этот. Просто нажмите «Да», и он все исправит. Все готово!
Это намного проще, чем искать сломанные файлы других типов, чтобы удалить их.
PhpStorm показывает мне правильную версию PHP 7.2.5 и файл php.ini
В конфигурации CodeSniffer я выбрал phpcs.bat Когда я нажимаю "Подтвердить", я только что получил
Также добавил все на PATH
Я что-то пропустил?
Попробуйте запустить файл phpcs вместо файла phpcs.bat
Потом получаю Cannot run program ". \phpcs": CreateProcess error=193, %1 is not a valid Win32-Application
1) Скриншоты с настройками пожалуйста. Детали имеют значение. 2) Является ли php.exe общесистемным? Я имею в виду - покажет ли он правильный путь, если вы запустите where php в терминале (вне IDE)?
Я добавил несколько экранов
Когда я вызываю where php , он показывает мне правильный путь к php.exe. Когда я вызываю php *\phpcs.bat в cmd, он будет выполнен без ошибок
Проверьте idea.log на предмет возможных подсказок, затем ( Help | Show Log in Explorer )
намеков нет. Также сделал новую установку через грушу
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Если вы все еще используете PHP 7, то эта статья для вас. В PHP 8, а именно в PHP 8.1, встроены некоторые очень востребованные функции, которые вам.
За последние годы в образовании произошла большая революция, и сегодня почти все учебные заведения делают упор на эксклюзивное управление учебным.
Votes
Votes
Читайте также: