nginx는 웹 애플리케이션에서 동적 콘텐츠를 렌더링하기 위해 PHP와 함께 자주 사용되는 고성능 웹 서버입니다. 그러나 때때로 nginx가 PHP 파일을 올바르게 구문 분석하지 않아 애플리케이션이 제대로 실행되지 않을 수 있습니다. 이 기사에서는 nginx가 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이지만 nginx에서 자동으로 처리되지 않는 경우 nginx 구성 파일의 "index" 지시문에 인덱스를 추가해야 합니다.
index index.php index.html;
이제 홈 페이지를 열면 nginx가 자동으로 index.php를 찾아 올바르게 처리합니다.
nginx가 PHP 파일을 구문 분석할 수 없는 또 다른 주요 이유는 잘못된 권한입니다. 다음 사항을 확인하세요.
또한 PHP 파일의 소유권이 nginx 사용자로 설정되어 있는지 확인하고 PHP 파일이 있는 디렉토리의 소유권은 nginx group 으로 설정됩니다. 이는 다음 명령을 사용하여 달성할 수 있습니다:
sudo chown -R nginx:nginx /var/www/html/
여기서는 /var/www/html/ 디렉토리의 소유권을 nginx 사용자 및 그룹에 할당합니다.
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 모듈을 활성화했습니다.
nginx가 PHP 파일을 구문 분석할 수 없지만 오류 메시지가 표시되지 않는 경우 PHP 오류 로그에서 오류에 대한 자세한 정보를 찾을 수 있습니다. PHP 오류 로깅을 활성화하려면 php.ini 파일을 열고 다음 줄의 주석 처리를 제거하세요.
error_log = /var/log/php/error.log log_errors = On
여기서는 PHP 오류 로그를 /var/log/php/error.log로 지정하고 오류 로깅을 활성화합니다. 폴더가 생성되었고 적절한 권한이 있는지 확인하세요.
결론
이 기사에서는 nginx가 PHP 파일을 구문 분석할 수 없는 몇 가지 이유를 소개하고 솔루션을 제공했습니다. 이러한 문제가 발생하면 위의 단계를 따르고 PHP 파일을 처리하도록 nginx를 올바르게 구성하십시오.
위 내용은 nginx가 PHP 파일을 구문 분석하지 않는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!