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 구성 파일과 일치하는지 확인하세요.
index.php 파일이 설정되지 않음
웹 애플리케이션의 홈 페이지가 index.php이지만 nginx에서 자동으로 처리되지 않는 경우 nginx 구성의 "index" 지시어에서 설정해야 합니다. file index.php를 다음과 같이 추가하세요:
index index.php index.html;
이제 홈 페이지를 열면 nginx가 자동으로 index.php를 찾아 올바르게 처리합니다.
PHP 파일 권한
nginx가 PHP 파일을 구문 분석할 수 없는 또 다른 주요 이유는 잘못된 권한입니다. 다음 사항을 확인하세요.
PHP 파일의 권한은 644
PHP 파일이 있는 디렉터리의 권한은 755
또한 nginx 사용자가 모든 PHP의 소유권을 가지고 있는지 확인하세요. 파일이 있고 PHP 파일이 있는 디렉터리도 nginx 그룹으로 설정되어 있습니다. 이는 다음 명령을 사용하여 달성할 수 있습니다:
sudo chown -R nginx:nginx /var/www/html/
여기서는 /var/www/html/ 디렉토리의 소유권을 nginx 사용자 및 그룹에 할당합니다.
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 모듈을 활성화했습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!