집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux php7-fpm 시작 실패를 해결하는 방법
Linux php7-fpm 시작 실패에 대한 해결 방법: 1. "php-fpm.conf" 파일에서 "error_log" 항목을 수정합니다. 2. php의 구성 파일 위치를 수정합니다. 3. nginx를 현재 시스템의 위치로 수정합니다. 4. nginx 사용자 및 사용자 그룹을 직접 생성합니다.
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.
원인 및 해결 방법:
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을 컴파일한 후 다음 명령을 사용하여 시작하세요
<code><pre class="brush:php;toolbar:false">/usr/local/php/sbin/php-fpm</pre>
<code><pre class="brush:php;toolbar:false">[07-Dec-2018 17:59:31] ERROR: [pool www] cannot get uid for user &#39;nginx&#39;
[07-Dec-2018 17:59:31] ERROR: FPM initialization failed</pre>
然后报出这样的错误:
vi /usr/local/php/etc/php-fpm.d/www.conf
修改php的配置文件位置在www.conf
; 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
将nginx修改为当前系统的用户名如下:
useradd nginx groupadd nginx usermod -G nginx nginx
方法二:
直接创建nginx用户和用户组
/usr/local/php/sbin/php-fpm
三、php-fpm 内容扩展
启动php-fpm:
<code><pre class="brush:php;toolbar:false"># 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</pre>
kill -USR2 42891www.conf
[global] ; Pid file ; Note: the default prefix is /usr/local/php/var ; Default Value: none ;pid = run/php-fpm.pid에서 PHP 구성 파일 위치를 수정하세요nginx를 사용자 이름으로 수정하세요. 현재 시스템은 다음과 같습니다:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'방법 2: nginx 사용자 및 사용자 그룹을 직접 생성
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'세 번째, php-fpm 콘텐츠 확장php-fpm 시작:
<code>rrreee
php 5.3. 3. 향후 php-fpm은 더 이상 /usr/local/php/sbin/php-fpm (start|stop|reload) 및 php-fpm에 있던 기타 명령을 지원하지 않습니다. 따라서 더 이상 이 구식 명령을 보지 마십시오. 신호 제어를 사용해야 합니다. 마스터 프로세스는 다음 신호를 이해할 수 있습니다. INT, TERM 즉시 종료 QUIT 원활하게 종료 USR1 로그 파일 다시 열기 USR2 모든 작업자 프로세스를 원활하게 다시 로드하고 구성 및 바이너리 모듈을 다시 로드합니다. 한 가지 간단하고 직접적인 다시 시작 방법: 먼저 php-fpm의 마스터 프로세스 번호를 확인하세요🎜rrreee🎜php-fpm을 다시 시작하세요:🎜rrreee🎜OK. 🎜🎜위 해결 방법은 일반적으로 php-fpm.pid 파일이 생성되지 않을 때 사용됩니다. php-fpm.pid를 생성하려면 다음 해결 방법을 사용하세요. 🎜🎜위의 마스터 프로세스에서 볼 수 있듯이 matster는 다음을 사용합니다. /usr/local/ php/etc/php-fpm.conf 구성 파일의 경우 cat /usr/local/php/etc/php-fpm.conf가 발견되었습니다. 🎜rrreee🎜pid 파일 경로는 /usr/local에 있어야 합니다. /php/var/run/php -fpm.pid, 주석 처리되었기 때문에 생성되지 않습니다. 주석을 제거한 다음 -USR2 42891을 종료합니다. php-fpm을 다시 시작하면 다음에 pid 파일이 생성됩니다. , 다음 명령을 사용하여 php-fpm을 다시 시작하고 닫을 수 있습니다: 🎜 🎜php-fpm shutdown: 🎜rrreee 🎜php-fpm restart: 🎜rrreee
위 내용은 Linux php7-fpm 시작 실패를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!