Невозможно изменить PHP версию по умолчанию в Symfony 4.12 - PullRequest
0 голосов
/ 24 января 2020

Я хотел бы создать Symfony проект. У меня та же проблема, что и у многих, связанная с версией php: Symfony использует неверную версию.

λ php -version
PHP 7.4.1 (cli) (built: Dec 17 2019 19:24:02) ( ZTS Visual C++ 2017 x64 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

λ symfony -V
Symfony CLI version v4.12.4 (Tue Jan 14 13:09:08 UTC 2020)

λ symfony check:requirements

Symfony Requirements Checker
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

> PHP is using the following php.ini file:
C:\xampp\php\php.ini

> Checking Symfony requirements:

..............WWW......W..


 [OK]
 Your system is ready to run Symfony projects

У меня установлен Xampp, но я использую Laragon с 7.4.1 на Windows 10 и Wi-Fi. sh, чтобы использовать это, но Symfony говорит мне это:

λ symfony local:php:list
┌─────────┬─────────────────────────────────────────────┬─────────┬─────────┬─────────────┬─────────┬─────────┐
│ Version │                  Directory                  │ PHP CLI │ PHP FPM │   PHP CGI   │ Server  │ System? │
├─────────┼─────────────────────────────────────────────┼─────────┼─────────┼─────────────┼─────────┼─────────┤
│ 7.3.10  │ C:\xampp\php                                │ php.exe │         │ php-cgi.exe │ PHP CGI │ *       │
│ 7.4.1   │ C:\laragon\bin\php\php-7.4.1-Win32-vc15-x64 │ php.exe │         │ php-cgi.exe │ PHP CGI │         │
└─────────┴─────────────────────────────────────────────┴─────────┴─────────┴─────────────┴─────────┴─────────┘

The current PHP version is selected from default version in $PATH

Хотя в моем $ PATH нет никаких следов Xampp или php 7.3.1.

λ echo %path:;=&echo.%
C:\Program Files\cmder_mini\bin
C:\Program Files\cmder_mini\vendor\bin
C:\Program Files\cmder_mini\vendor\conemu-maximus5\ConEmu\Scripts
C:\Program Files\cmder_mini\vendor\conemu-maximus5
C:\Program Files\cmder_mini\vendor\conemu-maximus5\ConEmu
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Windows\System32\OpenSSH\
C:\Program Files\nodejs\
C:\Program Files\Git\cmd
C:\ProgramData\ComposerSetup\bin
C:\laragon\bin\php\php-7.4.1-Win32-vc15-x64\php.exe
C:\Program Files\Symfony
C:\laragon\bin
C:\laragon\bin\apache\httpd-2.4.35-win64-VC15\bin
C:\laragon\bin\composer
C:\laragon\bin\laragon\utils
C:\laragon\bin\mysql\mysql-5.7.24-winx64\bin
C:\laragon\bin\nginx\nginx-1.16.0
C:\laragon\bin\ngrok
C:\laragon\bin\notepad++
C:\laragon\bin\php\php-7.4.1-Win32-vc15-x64
C:\laragon\bin\putty
C:\laragon\bin\redis\redis-x64-3.2.100
C:\laragon\bin\telnet
C:\laragon\usr\bin
C:\Program Files\Sublime Text 3\
C:\Users\User\AppData\Local\Yarn\config\global\node_modules\.bin
C:\Users\User\AppData\Roaming\Composer\vendor\bin
C:\Users\User\AppData\Roaming\npm
C:\Ruby26-x64\bin
C:\Users\User\AppData\Local\Microsoft\WindowsApps
C:\Program Files\JetBrains\PhpStorm 2019.2.3\bin
C:\Program Files\JetBrains\DataGrip 2019.2.5\bin
C:\Program Files\Git\cmd
C:\Program Files\Git\mingw64\bin
C:\Program Files\Git\usr\bin
C:\Program Files\cmder_mini

(я проверил user & system $ PATH)

Я пытался заставить Symfony использовать 7.4.1, запустив в каталоге проекта:

λ echo "7.4.1" > .phpversion

Когда я запускаю

λ symfony local:php:refresh

λ symfony local:php:list

я получаю:

λ WARNING the current dir requires PHP "7.4.1" (.php-version from current dir: C:\laragon\www\CMS_test\.php-version), but this version is not available

Я также пытался переименовать имя каталога Xampp, и на самом деле это "работает" .

C:\
λ symfony check:requirements
php does not seem to be available under C:\xampp\php


C:\
λ symfony local:php:list
┌─────────┬─────────────────────────────────────────────┬─────────┬─────────┬─────────────┬─────────┬─────────┐
│ Version │                  Directory                  │ PHP CLI │ PHP FPM │   PHP CGI   │ Server  │ System? │
├─────────┼─────────────────────────────────────────────┼─────────┼─────────┼─────────────┼─────────┼─────────┤
│ 7.4.1   │ C:\laragon\bin\php\php-7.4.1-Win32-vc15-x64 │ php.exe │         │ php-cgi.exe │ PHP CGI │ *       │
└─────────┴─────────────────────────────────────────────┴─────────┴─────────┴─────────────┴─────────┴─────────┘

The current PHP version is selected from default version in $PATH

Но это решение меня не устраивает.

Я искал StackOverflow в течение нескольких часов, пытался переустановить Symfony, перезагрузить компьютер, спросить friends et c, похоже, ни у кого нет другого решения.

Итак, почему Symfony ищет php в каталоге Xampp? Можно ли выбрать другой по умолчанию, как у Ларагона? Есть идеи?

1 Ответ

0 голосов
/ 06 февраля 2020

У меня только что была эта проблема в моей Windows среде. По какой-то причине symfony не читает. php -версия правильно, когда я создаю его с помощью echo "7.2" > .php-version.

Проблема исчезла, как только я удалил и создал новый текстовый файл из моей IDE. Вероятно, создание его с использованием vscode code .php-version или с помощью проводника тоже бы сработало (пока не пробовал).

Редактировать: я только что попытался создать файл с VS Code и Notepad - оба сработали. Но я до сих пор не знаю, почему это не работает при создании с echo ...

Edit2: Я думаю, что получил. Похоже, что PowerShell echo "" > file создаст файл с кодировкой UTF-16. После преобразования файла в UTF-8 он работал как положено.

...