Хорошо, я испытываю кое-что довольно странное. Мой phpinfo() показывает одну версию, а php -v показывает другую.
Я работаю локально на MacBook Air (Mojave) с Laravel и Камердинер.
phpinfo():
PHP Version 7.2.13
Configuration File (php.ini) Path /usr/local/etc/php/7.2
Loaded Configuration File /usr/local/etc/php/7.2/php.ini
Scan this dir for additional .ini files /usr/local/etc/php/7.2/conf.d
В моем терминале он показывает:
php -v
PHP 7.3.0 (cli) (built: Dec 7 2018 11:00:11) ( NTS )
Теперь, если я сделаю which php, я получу следующее:
/usr/local/bin/php
В моем ~/.bash-profile у меня вот такое:
export "PATH=~/.composer/vendor/bin:$PATH"
Я пытался:
Перезапустить Valet
Отключите [email protected] и свяжите [email protected] с Homebrew:
Оливерс-MacBook-Air: ~ oliverbusk $ brew unlink [email protected] Ошибка: нет такой бочки: /usr/local/Cellar/[email protected]
Как я могу заставить мой фактический сайт камердинера использовать [email protected]?
rm ~/.config/valet/valet.sock; valet restart; решил это за меня.






Такая простая вещь, как перезагрузка моего Macbook, решила эту проблему. После перезагрузки правильная версия 7.3 показывала в моем phpinfo();
rm ~ / .config / valet / valet.sock; перезапуск камердинера; решил это для меня
Вчера я столкнулся с той же проблемой на Ubuntu 18.
Сначала я изменил версию PHP:
$ sudo a2dismod php7.2
$ sudo a2enmod php7.3
$ sudo update-alternatives --set php /usr/bin/7.3
Но камердинер по-прежнему показывал неправильную версию PHP. Перезагрузка не прошла. Фактически, phpinfo() отображал PHP 7.1.
После запуска ps -aux | grep php я заметил несколько запущенных экземпляров php-fpm (5.6, 7.1 и 7.2).
Я остановил их
$ sudo service php5.6-fpm stop
$ sudo service php7.1-fpm stop
$ sudo service php7.2-fpm stop
Потом запустил 7.3
$ sudo service php7.3-fpm start
И теперь мой phpinfo() отображает правильную версию PHP
Хорошие новости, пожалуйста, обновите до последней версии камердинера, вы можете легко переключить версию php. Источник: https://laravel.com/docs/5.8/valet
PHP Versions
Valet allows you to switch PHP versions using the valet use php@version command. Valet will install the specified PHP version via Brew if it is not already installed:
valet use [email protected]
valet use php //without any specification, it will be using latest version
Из MacBook Pro (Mojave) с Laravel и Valet:
valet use [email protected]
Добро пожаловать в SO! Когда вы публикуете ответ, даже если это нормально, попробуйте немного объяснить свой ответ. Если это новая точка зрения, покажите «за» и «против». Я уже редактирую ваш ответ, но официальный язык на SO - английский, есть еще один SO на испанском.
В основном php valet использует другой, и тот, который используется вашим MacBook, отличается.
Но, как уже упоминали @Shiro и @Israel Alexis Palma Quezada, в более новых версиях valet use php73 решит вашу проблему.
Если он не работает, попробуйте запустить composer global update для обновления ваших глобальных пакетов, таким образом обновив valet.
Чтобы обновить версию php для Mac, запустите:
export PATH = "your/path/to/[email protected]/bin:$PATH"
export PATH = "your/path/to/[email protected]/sbin:$PATH"
или просто добавьте эти две строчки в свой ~/.profile или ~/.bash_profile
Не забудьте запустить source ~/.profile или source ~/.bash_profile или любой другой файл, который вы выбрали для редактирования.
У меня сработало простое исправление ниже.
rm ~/.config/valet/valet.sock
valet restart
Сработало для меня как шарм - Спасибо @Chk!
Работает хорошо, но мне кажется, что мне нужно повторять это время от времени (возможно, после перезагрузки компьютера), есть ли постоянное решение?
работал и на ubuntu, просто другой путь, по крайней мере, на моей машине, rm ~/.valet/valet.sock
Не уверен, почему я теряю эту конфигурацию после перезапуска и мне приходится делать это снова и снова, кому-нибудь еще?
Хотелось бы знать, как это исправить, чтобы этого больше не происходило.
Это также следует добавить в библиотеку камердинера как команду перезапуска.
Я столкнулся с этой же проблемой сегодня при использовании valet plus. Когда я переключал версии PHP, в моем браузере отображалась предыдущая, а в терминале - правильная. Глядя на мой список услуг по пивоварению:
brew services list
Он показал, что одной из служб valet-php ([email protected]) нет в списке служб, но каким-то образом мой камердинер смог переключиться на нее. Valet не установил этот PHP должным образом, и это было причиной проблемы. Я сделал следующее, чтобы удалить этот PHP и переустановить его с помощью brew.
brew uninstall [email protected]
sudo rm -rf /usr/local/Cellar/[email protected]/7.2.34_1
brew install [email protected]
Версия PHP, которая раньше не отображалась в списке сервисов пивоварения, теперь показывалась, и я смог «остановить» сервис этой версии php:
brew services stop [email protected]
что заставило все снова работать нормально без перезапуска.
Чтобы иметь возможность эффективно менять версию php на моей машине, я использую следующий скрипт:
Добавьте к вашему пользователю .bash_profile
Затем используйте следующую команду для переключения
переключатель-php7.x
switch-php() {
valet stop
brew unlink [email protected] [email protected] [email protected]
brew link --force --overwrite php@$1
brew services restart php@$1
composer global update
rm -f ~/.config/valet/valet.sock
valet install
}
https://gist.github.com/r1tt3r/e0f199eb274d5ff186b73956af594316
Я использую linux камердинер на Ubuntu 20.04, у меня работает следующая команда
valet use 8.0
Здесь 8.0 относится к версии php.
ты спасешь мой день. Спасибо
В моем случае это сработало после форсирования конкретной версии PHP:
valet use [email protected] --force
Используйте переключатель php. Это поможет вам правильно переключить php и перезапустить valet.