시스템과 함께 제공되는 PHP 버전과 새로 설치된 PHP 고급 버전이 동시에 존재하기 때문에 PHP 버전이 일치하지 않으며, 터미널과 phpinfo에서 로드되는 파일의 위치가 일치하지 않습니다. 해결 방법은 다음과 같습니다. 높은 버전의 PHP 설치 디렉터리에서 높은 버전의 "php-fpm" 설치 디렉터리도 터미널 구성 파일에 추가됩니다.
추천: "PHP Video Tutorial"
문제는 시스템 자체 PHP 버전과 새로 설치된 PHP Advanced 버전이 공존하고, 터미널과 phpinfo()에서 로드하는 파일 위치가 일치하지 않는다는 것입니다.
그 중
nginx 서비스에서 phpinfo()를 구문 분석하는 것은 php-fpm에 의존하므로 phpinfo()의 출력은 php-fpm에 의해 시작된 버전입니다.
그리고 터미널 실행은 php -v
; >는 터미널 구성 파일에 설정된 PHP 설치 디렉터리에 해당하는 PHP 버전을 로드합니다. php -v
是加载终端配置文件中设置的php安装目录对应的php版本的;
所以导致两者php版本不一致主要就是启动的php-fpm版本和终端配置的php版本不一致。
直接的解决办法就是将高版本php安装目录下的高版本php-fpm安装目录也加到终端配置文件,让系统自动加载高版本php-fpm即可。
配置~/.bash_profile:
export PATH=/usr/local/Cellar/php@7.2/7.2.23/bin:/usr/local/Cellar/php@7.2/7.2.23/sbin:${PATH}
如果系统使用的是zsh,就在~/.zshrc
文件最后添加:
source ~/.bash_profile
然后再执行
source ~/.zshrc
使配置生效,并重启php-fpm
sudo killall php-fpm
sudo php-fpm -D
即可
1、查看当前php版本
php -v
得到以下输出:
PHP 7.2.23 (cli) (built: Oct 10 2019 10:15:26) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.23, Copyright (c) 1999-2018, by Zend Technologies
2、查看php安装位置
which php
或
whereis php
得到以下输出:
/usr/local/Cellar/php@7.2/7.2.23/bin/php
3、查看php-fpm 版本和安装位置
php-fpm -v
得到以下输出:
PHP 5.6.30 (fpm-fcgi) (built: Oct 29 2017 20:31:21) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
which php-fpm
得到以下输出:
/usr/sbin/php-fpm
以上查看一遍后,发现php加载的安装目录是新安装的php高级版本,而php-fpm 还是mac系统自带的低版本,原因是在系统终端配置文件中配置了新版本php安装位置,但是没有配置php-fpm的安装位置,导致启动php-fpm时自动加载的是系统低版本的php-fpm,当php框架依赖高版本php时,就会无法运行。
4、配置新版本php-fpm加载目录
配置~/.bash_profile
:
export PATH=/usr/local/Cellar/php@7.2/7.2.23/bin:/usr/local/Cellar/php@7.2/7.2.23/sbin:${PATH}
如果系统使用的是zsh,就在~/.zshrc
文件最后添加:
source ~/.bash_profile
或直接将上述路径配置设置在~/.zshrc
文件中。
然后执行source ~/.zshrc
(base) qingshan@qingshan ~ php-fpm -v PHP 7.2.23 (fpm-fcgi) (built: Oct 10 2019 10:15:34) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.23, Copyright (c) 1999-2018, by Zend Technologies시스템에서 zsh를 사용하는 경우
~/.zshrc
끝 부분에 있습니다. > 파일 추가: sudo killall php-fpm그런 다음
sudo php-fpm -D를 실행하여 구성을 적용하고 php-fpm
rrreeerrreee
을 다시 시작합니다. 그게 다입니다~/.bash_profile
을 구성합니다: 🎜rrreee🎜시스템이 zsh를 사용하는 경우 ~/.zshrc
에서 > 추가: 파일 끝에 🎜rrreee🎜를 추가하거나 ~/.zshrc
파일에서 위 경로 구성을 직접 설정합니다. 🎜🎜그런 다음 source ~/.zshrc
를 실행하여 구성을 적용하세요🎜🎜5. 현재 php-fpm 버전을 확인하세요🎜rrreee🎜php-fpm의 상위 버전이 자동으로 로드되었습니다. 🎜🎜6. php-fpm을 다시 시작합니다🎜🎜백그라운드에서 실행 중인 php-fpm 프로세스를 종료합니다🎜rrreee🎜php-fpm을 시작하고 백그라운드에서 실행합니다.🎜rrreee🎜현재 phpinfo에서 출력되는 php 버전 정보는 최신입니다. 버전 7.2🎜🎜🎜🎜위 내용은 php -v 및 phpinfo()의 PHP 버전 출력이 일치하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!