Linux php7-fpm 시작 실패에 대한 해결 방법: 1. "php-fpm.conf" 파일에서 "error_log" 항목을 수정합니다. 2. php 구성 파일의 위치를 수정합니다. 3. nginx를 다음 사용자 이름으로 수정합니다. 현재 시스템 ;4. nginx 사용자 및 사용자 그룹을 직접 생성합니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, php7.2.1 버전, DELL G3 컴퓨터
Linux php7-fpm이 시작되지 않으면 어떻게 해야 합니까?
php-fpm 시작 실패 해결 방법(centOS에 PHP 설치 후)
centOS7.0에서 php7.2.1을 컴파일하고 설치한 후 php 확장이 추가되었으므로 php-fpm을 다시 시작해야 합니다.
1. 먼저 php-fpm 구성에 대해 이야기하겠습니다.
초기 설치 후에는 이러한 파일을 하나씩 생성한 다음 시작해야 합니다. 오류가 없으면 "2. php-fpm 시작 오류:"를 읽을 필요가 없습니다.
1. php-fpm
cp php.ini-development /usr/local/php7/etc/php.ini cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
2 구성 정보
php-fpm 시작:
/usr/local/php/sbin/php-fpm
2. fpm 시작 오류:
원인 및 해결 방법:
1. 직접 실행하면 구성 파일을 찾을 수 없다는 오류가 발생합니다.
$ php-fpm [11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2) [11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf' [11-Jan-2014 16:03:03] ERROR: FPM initialization failed
루트 권한(sudo)이 필요한 /private/etc/ 디렉터리에 구성 파일을 생성하거나(sudo)
일반 사용자 권한이 있는 디렉터리에 구성 파일을 배치하고 다음을 통해 구성 파일의 위치를 지정할 수 있습니다. --fpm-config 매개변수는 다음과 같습니다.
# cp /private/etc/php-fpm.conf.default /etc/php-fpm.conf $ php-fpm --fpm-config /etc/php-fpm.conf [11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2) [11-Jan-2014 16:10:49] ERROR: failed to post process the configuration [11-Jan-2014 16:10:49] ERROR: FPM initialization failed
오류 메시지는 다음과 같습니다. "log" 파일은 기본적으로 /usr/var 디렉터리에서 작동하기 때문입니다. 파일을 수정하여 올바른 로그 파일 경로를 지정하세요
$ vim /usr/local/etc/php-fpm.conf
php-fpm.conf 파일을 수정하세요. php-fpm에서 error_log 항목의 기본 접두사는 /usr/var이지만 해당 경로가 없습니다.
error_log = /usr/local/var/log/php-fpm.log pid = /usr/local/var/run/php-fpm.pid
또는 수정하지 마세요. 구성 파일의 구성 항목 경로. php-fpm(-p)의 실행 매개변수에서 상대 경로 접두어
$ php-fpm --fpm-config /php-fpm.conf --prefix /usr/local/var
이 시점에서 php-fpm 데몬은 기본적으로 다음과 같이 지정할 수 있습니다. 올바르게 시작되었습니다.
오류 메시지:
[12-Jul-2013 17:18:57] ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY [12-Jul-2013 17:18:57] ERROR: failed to load configuration file '/usr/local/php5/etc/php-fpm.conf' [12-Jul-2013 17:18:57] ERROR: FPM initialization failed
2. 오류의 주요 원인은 /usr/local/php5/sbin/php-fpm 구성 오류입니다. 주의 깊게 확인하세요. 내 실수는 여기 그룹 = www에 = 기호가 없다는 것입니다. 문제가 발생했습니다
[root@localhost ~]# /usr/local/php5/sbin/php-fpm PHP: syntax error, unexpected TC_STRING in /usr/local/php5/etc/php.ini on line 211
3. php-fpm을 시작할 때 오류: [pool www] can get uid for user 'nginx'
방법 1:
php7을 컴파일한 후 다음 명령을 사용하세요. to start
/usr/local/php/sbin/php-fpm
그러면 다음과 같은 오류가 보고됩니다.
[07-Dec-2018 17:59:31] ERROR: [pool www] cannot get uid for user 'nginx' [07-Dec-2018 17:59:31] ERROR: FPM initialization failed
www.conf
vi /usr/local/php/etc/php-fpm.d/www.conf
에서 php 구성 파일 위치를 수정하세요. nginx를 다음과 같이 현재 시스템의 사용자 이름으로 변경하세요.
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = www.emam.cn group = www.emam.cn
방법 2:
nginx 사용자 및 사용자 그룹 직접 만들기
useradd nginx groupadd nginx usermod -G nginx nginx
3.php-fpm 콘텐츠 확장
Start php-fpm:
/usr/local/php/sbin/php-fpm
php 5.3.3 이상 php-fpm은 더 이상 php-fpm을 지원하지 않습니다. /local/php/sbin/php- fpm (start|stop|reload) 및 기타 명령이므로 더 이상 이전 명령을 보지 마십시오. 신호 제어를 사용해야 합니다.
마스터 프로세스는 다음 신호를 이해할 수 있습니다
INT, TERM 즉시 종료
QUIT 원활하게 종료
USR1 로그 파일 다시 열기
USR2는 모든 작업자 프로세스를 원활하게 다시 로드하고 구성 및 바이너리 모듈을 다시 로드합니다.
간단하고 직접적인 다시 시작 방법:
마스터 확인 php-fpm의 프로세스 번호를 먼저
# ps aux|grep php-fpm root 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 grep --color=auto php-fpm root 42891 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) nobody 42892 0.0 0.6 183000 6516 ? S 4月18 0:07 php-fpm: pool www nobody 42893 0.0 0.6 183000 6508 ? S 4月18 0:17 php-fpm: pool www
php-fpm을 다시 시작하세요:
kill -USR2 42891
확인.
위 해결 방법은 일반적으로 php-fpm.pid 파일이 생성되지 않을 때 사용됩니다. php-fpm.pid를 생성하려면 다음 해결 방법을 사용하세요.
위의 마스터 프로세스에서 볼 수 있듯이 matster는 다음을 사용합니다. /usr/local/ php/etc/php-fpm.conf 구성 파일의 경우 cat /usr/local/php/etc/php-fpm.conf가 발견되었습니다.
[global] ; Pid file ; Note: the default prefix is /usr/local/php/var ; Default Value: none ;pid = run/php-fpm.pid
pid 파일 경로는 /usr/local에 있어야 합니다. /php/var/run/php -fpm.pid, 주석 처리되었기 때문에 생성되지 않습니다. 주석을 제거한 다음 -USR2 42891을 종료합니다. php-fpm을 다시 시작하면 다음에 pid 파일이 생성됩니다. , 다음 명령을 사용하여 php-fpm을 다시 시작하고 닫을 수 있습니다:
php-fpm 닫기:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
php-fpm 다시 시작:
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'
권장 학습: "PHP 비디오 튜토리얼"
위 내용은 Linux php7-fpm이 시작되지 않으면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!