문제는 시스템과 함께 제공되는 PHP 버전과 새로 설치된 PHP 고급 버전이 동시에 존재하고 터미널과 phpinfo ()에서로드 한 파일의 위치가 일치하지 않는다는 것입니다.
그들 중
Nginx 서비스 구문 분석 phpinfo ()는 php-fpm에 의해 구현되므로 phpinfo ()는 php-fpm에 의해 시작된 버전을 출력합니다.
터미널 실행 php -v
은 터미널 구성 파일에 설정된 php 설치 디렉토리에 해당하는 php 버전을로드하는 것입니다.
따라서 두 PHP 버전의 불일치는 주로 시작된 php-fpm 버전과 터미널에 구성된 php 버전 의 불일치로 인해 발생합니다 .
직접적인 해결책은 터미널 구성 파일에 상위 버전 php 설치 디렉토리 아래에 상위 버전 php-fpm 설치 디렉토리를 추가하고 시스템이 자동으로 상위 버전 php-fpm을로드하도록하는 것입니다.
빠른 솔루션 :
~ / .bash_profile 구성 :
export PATH=/usr/local/Cellar/[email protected]/7.2.23/bin:/usr/local/Cellar/[email protected]/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/[email protected]/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은 여전히 맥 시스템과 함께 제공되는 하위 버전입니다. 이유는 새로운 버전의 php 설치 위치가 있기 때문입니다. 시스템 터미널 구성 파일에 구성되어 있지만 php-fpm의 설치 위치 구성이 없으므로 php-fpm 시작시 시스템의 php-fpm 하위 버전이 자동으로로드됩니다. 높은 버전의 PHP에서는 실행되지 않습니다.
4. 새 버전의 php-fpm 로딩 디렉토리 구성
구성 ~/.bash_profile
:
export PATH=/usr/local/Cellar/[email protected]/7.2.23/bin:/usr/local/Cellar/[email protected]/7.2.23/sbin:${PATH}
시스템에서 zsh를 사용 ~/.zshrc
하는 경우 파일 끝에 추가합니다.
source ~/.bash_profile
또는 ~/.zshrc
파일 에서 위의 경로 구성을 직접 설정 하십시오.
그런 다음 실행 source ~/.zshrc
하여 구성을 적용하십시오.
5. 현재 php-fpm 버전보기
(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
높은 버전의 php-fpm이 자동으로로드되었습니다.
6. php-fpm 다시 시작
백그라운드에서 실행되는 php-fpm 프로세스 종료
sudo killall php-fpm
php-fpm을 시작하고 백그라운드에서 실행합니다.
sudo php-fpm -D
이때 phpinfo가 출력하는 PHP 버전 정보는 최신 버전 7.2입니다.
매일 조금씩 쌓아