>  기사  >  운영 및 유지보수  >  PHP 파일을 구문 분석하지 않는 nginx를 해결하는 방법

PHP 파일을 구문 분석하지 않는 nginx를 해결하는 방법

PHPz
PHPz앞으로
2023-05-21 10:46:461632검색

  1. PHP가 설치되지 않았거나 구성되지 않았습니다.

먼저 서버에 PHP가 설치되어 있고 nginx가 제대로 작동하도록 올바르게 구성되었는지 확인하세요. PHP가 올바르게 설치되었는지 확인하려면 터미널을 열고 다음 명령을 실행하세요.

php -v

그러면 현재 서버에 설치된 PHP 버전이 표시됩니다. PHP 버전이 표시되지 않으면 PHP 설치를 고려하세요.

PHP가 nginx와 작동하도록 하려면 nginx 구성 파일을 편집하고 다음 줄을 추가하세요.

location ~ \.php$ {
  fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

여기서 nginx의 PHP 파일 처리 위치와 기타 매개변수를 지정하려고 합니다. nginx 구성 파일에 코드 블록이 추가되었는지, sock 파일 경로가 PHP 구성 파일과 일치하는지 확인하세요.

  1. index.php 파일이 설정되지 않음

웹 애플리케이션의 홈 페이지가 index.php이지만 nginx에서 자동으로 처리되지 않는 경우 nginx 구성의 "index" 지시어에서 설정해야 합니다. file index.php를 다음과 같이 추가하세요:

index index.php index.html;

이제 홈 페이지를 열면 nginx가 자동으로 index.php를 찾아 올바르게 처리합니다.

  1. PHP 파일 권한

nginx가 PHP 파일을 구문 분석할 수 없는 또 다른 주요 이유는 잘못된 권한입니다. 다음 사항을 확인하세요.

  • PHP 파일의 권한은 644

  • PHP 파일이 있는 디렉터리의 권한은 755

또한 nginx 사용자가 모든 PHP의 소유권을 가지고 있는지 확인하세요. 파일이 있고 PHP 파일이 있는 디렉터리도 nginx 그룹으로 설정되어 있습니다. 이는 다음 명령을 사용하여 달성할 수 있습니다:

sudo chown -R nginx:nginx /var/www/html/

여기서는 /var/www/html/ 디렉토리의 소유권을 nginx 사용자 및 그룹에 할당합니다.

  1. PHP 모듈이 활성화되지 않았습니다.

nginx가 오류 메시지를 표시하지 않고 PHP 파일을 구문 분석할 수 없는 경우 PHP 모듈이 활성화되었는지 확인하세요. 이를 활성화하려면 nginx의 컴파일 옵션을 편집하고 다음 줄을 추가하세요:

--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_degradation_module \
--with-http_xslt_module \
--with-http_stub_status_module \
--with-http_spdy_module \
--with-http_auth_request_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-ipv6 \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-threads \
--with-debug \
--add-module=/path/to/php-src/sapi/nginx/

여기서 --add-module=/path/to/php-src/sapi/nginx/를 추가하여 PHP 모듈을 활성화했습니다.

  1. PHP 오류 로깅

nginx가 PHP 파일을 구문 분석할 수 없지만 오류 메시지가 표시되지 않는 경우 PHP 오류 로그에서 오류에 대한 자세한 정보를 찾을 수 있습니다. php.ini 파일을 열고 다음 줄의 주석 처리를 제거하여 PHP 오류 로깅을 활성화합니다.

error_log = /var/log/php/error.log
log_errors = On

/var/log/php/error.log를 PHP 오류 로그로 지정하고 오류 로깅 기능을 활성화합니다. 폴더가 생성되었고 적절한 권한이 있는지 확인하세요.

위 내용은 PHP 파일을 구문 분석하지 않는 nginx를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제