Mengupgrade PHP dari 7.1 ke 7.2 dengan Homebrew di macOS tetapi masih melihat PHP 7.1

0

Saya mencoba untuk meningkatkan versi PHP saya dari 7.1 ke 7.2 di macOS dan dengan Homebrew.

Saya melakukan langkah-langkah berikut:

brew install php72

brew services stop php71
brew unlink php71

brew link php72
brew services start php72

Segalanya tampak bekerja dengan baik. Kapan saya melakukannya php --version Saya mendapat:

PHP 7.2.9 (cli) (dibangun: 16 Agustus 2018 21:40:59) (NTS) Hak Cipta (c)   1997-2018 The PHP Group Zend Engine v3.2.0, Hak Cipta (c) 1998-2018   Zend Technologies       dengan Zend OPcache v7.2.9, Hak Cipta (c) 1999-2018, oleh Zend Technologies

Tetapi jika saya mencoba menjalankan skrip PHP dengan phpinfo() informasinya masih mengatakan PHP Versi 7.1.20.

Jika saya lari brew services list Saya menjalankan layanan berikut:

dnsmasq    started root     /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
mariadb    started xy       /Users/xy/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
nginx      started root     /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
php        started root     /Library/LaunchDaemons/homebrew.mxcl.php.plist
[email protected]    stopped

Apa yang bisa menjadi alasannya?

Mango D
sumber

Jawaban:

0

brew unlink php71 dan brew link php72 akan mengubah baris perintah php Anda ke jalur dan versi yang benar, tetapi Apache tidak akan terpengaruh sampai Anda mengubah file konfig.

Pertama, temukan httpd.conf jalur file:

httpd -V | grep SERVER_CONFIG_FILE

Anda juga dapat memeriksa:

apachectl -t -D DUMP_INCLUDES

Kemudian:

  • Bukalah httpd.conf file dan cari baris yang dimulai dengan LoadModule php
  • Komentari baris ini dengan #, dan tambahkan baris 7.2 Anda sebagai gantinya. Anda bisa mendapatkan baris Anda dari menanyakan perintah berikut di Terminal:
  • brew info [email protected] | grep LoadModule
  • seharusnya terlihat seperti: LoadModule php7_module /usr/local/opt/[email protected]/lib/httpd/modules/libphp7.so
  • Akhirnya, restart Apache: sudo apachectl restart
  • skrip Anda seharusnya tidak berjalan dengan versi php7.2

Ada juga petunjuk terperinci tentang menggunakan switcher php di sini . Setelah diinstal, Anda dapat beralih dari satu versi ke versi lain seperti ini (ini akan menautkan Apache dan baris perintah secara otomatis):

sphp 7.1
sphp 7.2
sphp 5.6
etc..
Yoric
sumber
Ini jawaban yang bagus. Tetapi Apache perlu di-restart agar modul yang baru diambil.
JakeGould