Maison > Article > développement back-end > Comprendre comment utiliser la version PHP pour changer de version PHP sous macOS
L'environnement local est 7.1, ce qui est cohérent avec l'environnement du projet de l'entreprise, mais la mise à niveau de laravel6.0 doit nécessiter 7.2 (l'environnement local des amis du groupe est 7.2, puis poussez Après le code, l'environnement de développement du projet ne peut pas être déployé automatiquement). Après y avoir réfléchi, je dois encore obtenir quelque chose localement pour faciliter le changement de version PHP.
valet use php@version
(Amis qui utilisent Valet pour créer l'environnement, veuillez lire ici)C'est en fait parce que je n'ai pas lu attentivement la documentation - -, j'ai seulement appris les bases de valet en général Utilisation - -, si vous lisez attentivement la documentation, vous pouvez gagner une demi-journée - -
Valet vous permet d'utiliser la commande
valet use php@version
pour changer de version PHP. Si la version spécifiée n'a pas été installée, Valet installera la version PHP spécifiée via Brew :
valet use php@7.2 valet use php@7.1
Mais il doit s'agir d'une nouvelle version de Valet et doit d'abord être mise à niveau, sinon une erreur sera signalée , comme suit
[qian@bogon ~ ]$ valet use php@7.2 Command "use" is not defined.
Mise à niveau de Valet :
Vous pouvez utiliser la commande composer global update dans le terminal pour mettre à jour Valet. Après la mise à niveau, si nécessaire, il est préférable (en pratique, cela s'avère nécessaire) de réexécuter Valet Install afin que Valet puisse mettre à jour le fichier de configuration.composer global update valet installAprès le bleu, tout ira bien
valet use php@7.2
[qian@bogon ~ ]$ valet use php@7.2 Stopping php@7.1... Unlinking current version: php@7.1 Linking new version: php@7.2 Updating PHP configuration... Restarting php@7.2... Restarting nginx... Valet is now using php@7.2.
brew install php71
// Si vous en avez déjà une, vous n'en avez pas besoin brew install php72
[qian@bogon ~ ]$ mkdir $HOME/.local [qian@bogon ~ ]$ cd $HOME/.local [qian@bogon .local ]$ git clone https://github.com/wilmoore/php-version.git [qian@bogon .local ]$ source $HOME/.local/php-version/php-version.sh //测试 查看当前php版本 [qian@bogon .local ]$ php-version * 7.1.18 7.2.22
Ajoutez maintenant la variable d'environnement
[qian@bogon ~ ]$ echo "source $HOME/.local/php-version/php-version.sh" >> ~/.zshrc [qian@bogon ~ ]$ source ~/.zshrc
Changez la version de php
php-version 7.1 或 php-version 7.2
Utilisez la ligne de commande. comme çaphp -v
C'est déjà après le changement de version.
Une erreur se produit lorsque vous l'exécutez pour la première fois
==> Pouring python-3.7.4_1.mojave.bottle.tar.gz Error: An unexpected error occurred during the `brew link` step The formula built, but is not symlinked into /usr/local Permission denied @ dir_s_mkdir - /usr/local/Frameworks Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Ensuite, allez dans /usr/local/ et créez un nouveau répertoire Frameworks, et exécutez-le à nouveaubrew install php72
brew install php-version
Une erreur a été donnée
[qian@bogon ~ ]$ brew install php-version Updating Homebrew... ==> Auto-updated Homebrew! Updated 1 tap (homebrew/core). ==> Updated Formulae atomist-cli webtorrent-cli Error: No available formula with the name "php-version" ==> Searching for a previously deleted formula (in the last month)... Warning: homebrew/core is shallow clone. To get complete history run: git -C "$(brew --repo homebrew/core)" fetch --unshallow Error: No previously deleted formula found. ==> Searching for similarly named formulae... Error: No similarly named formulae found. ==> Searching taps... ==> Searching taps on GitHub... Error: No formulae found in taps.
Il a dit qu'il n'y avait rien de tel appelé "php-version", et j'ai aussi extrait "homebrew /core"
git -C "$(brew --repo homebrew/core)" fetch --unshallow
php -v
Times dyld : Bibliothèque non chargée : /usr/local/opt/icu4c/lib/libicui18n.61.dylib[qian@bogon ~ ]$ php -v dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.61.dylib Referenced from: /usr/local/bin/php Reason: image not found [1] 66728 abort php -v
Quoi qu'il en soit, je viens de réinstallez Dafa
brew uninstall --force php71 && brew install php71
Si vous n'avez pas d'amis qui utilisent le voiturier, vous n'avez pas besoin de lire ce qui suit ~
Comme la méthode 1 ci-dessus, la version php est installée,php -v
Également face à
mais. . . . Que vous utilisiez sudo pkill -INT -o php-fpm
ou sudo kill -9 进程id
,
ne peut pas tuer le processus php-fpm. Utilisez ps -ef | grep php
pour afficher le processus :
[qian@bogon ~ ]$ ps -ef |grep php 501 307 1 0 四09上午 ?? 51:34.33 /Applications/PhpStorm.app/Contents/MacOS/phpstorm -psn_0_90134 0 70900 1 0 2:33下午 ?? 0:00.11 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize 501 70901 70900 0 2:33下午 ?? 0:00.00 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize 501 70902 70900 0 2:33下午 ?? 0:00.00 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize 501 70904 10409 0 2:33下午 ttys007 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn php
Imprimez phpinfo() dans le code ; toujours la version php avant de changer. , vous devez trouver la raison et trouver un moyen
Utilisez la commande sudo php-fpm
et constatez que l'erreur signalée est liée au valet
[qian@bogon ~ ]$ sudo php-fpm && php -v Password: [16-Sep-2019 18:27:08] ERROR: An another FPM instance seems to already listen on /Users/qian/.config/valet/valet.sock [16-Sep-2019 18:27:08] ERROR: FPM initialization failed [qian@bogon ~ ]$
Recommandations d'apprentissage associées. : Programmation PHP de l'entrée à la maîtrise
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!