Rumah > Artikel > pembangunan bahagian belakang > Mari kita bincangkan tentang kegagalan pautan brew untuk menukar versi php
Artikel ini akan bercakap tentang kegagalan pautan brew untuk menukar versi php Saya harap ia akan membantu rakan-rakan yang memerlukan!
Penerangan masalah:
Saya memasang tiga versi php melalui brew
php 5.6 php 7.4 php 8.0
$ php -v
PHP 8.0.3 (cli) (built: Mar 4 2021 20:45:17) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.3, Copyright (c) Zend Technologies with Zend OPcache v8.0.3, Copyright (c), by Zend Technologies
Lumpuhkan 8.0 dan gunakan 7.4
$ brew unlink php@8.0 && brew link php@7.4 Unlinking /usr/local/Cellar/php/8.0.3... 0 symlinks removed. Linking /usr/local/Cellar/php@7.4/7.4.16... 264 symlinks created. $ php -v
Ia masih versi yang sama
Saya membuka terminal baharu dan ia adalah 8.0.3 yang sama
PHP 8.0.3 (cli) (built: Mar 4 2021 20:45:17) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.3, Copyright (c) Zend Technologies with Zend OPcache v8.0.3, Copyright (c), by Zend Technologies
Ia berfungsi dengan baik
Di manakah tetapan yang hilang?
Analisis dan penyelesaian:
Anda boleh cuba memasang pemilih PHP
brew update brew upgrade
Rujuk dokumentasi
https://github.com/shivammathur/homebrew-php
Pemasangan Tentukan php brew install shivammathur/php/php@7.3
pautan versi php brew link --overwrite --force php@7.3
Jika ralat berlaku
Warning: Already linked: <Cellar Path> To relink: brew unlink <formula> && brew link <formula>
laksanakan
brew unlink php@7.3 brew link --overwrite --force php@7.3
Mulakan semula perkhidmatan
apache brew services restart httpd nginx brew services restart nginx
Hasil pemasangan
To enable PHP in Apache add the following to httpd.conf and restart Apache: LoadModule php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> Finally, check DirectoryIndex includes index.php DirectoryIndex index.php index.html The php.ini and php-fpm.ini file can be found in: /usr/local/etc/php/7.0/ php@7.0 is keg-only, which means it was not symlinked into /usr/local, because this is an alternate version of another formula. If you need to have php@7.0 first in your PATH run: echo 'export PATH="/usr/local/opt/php@7.0/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@7.0/sbin:$PATH"' >> ~/.zshrc For compilers to find php@7.0 you may need to set: export LDFLAGS="-L/usr/local/opt/php@7.0/lib" export CPPFLAGS="-I/usr/local/opt/php@7.0/include" To have launchd start shivammathur/php/php@7.0 now and restart at login: brew services start shivammathur/php/php@7.0 Or, if you don't want/need a background service you can just run: php-fpm
Selamat datang untuk berbincang!
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Mari kita bincangkan tentang kegagalan pautan brew untuk menukar versi php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!