buildroot로 구축된 임베디드 Apache 웹 서버의 PHP

buildroot로 구축된 임베디드 Apache 웹 서버의 PHP

그래서 buildroot를 사용하여 임베디드 아파치 웹 서버를 구축했는데 PHP 코드를 실행하지 않는 것 외에는 잘 작동합니다. 내 시스템의 명령줄에서 .php 파일을 실행할 수 있지만 브라우저에서 이러한 .php 파일을 열면 PHP 코드가 실행되지 않고 모든 PHP 코드를 무시하고 html로 해석합니다.

/etc/apache2/httpd.conf 파일을 확인했는데 php 모듈을 로드하는 줄이 있습니다.

LoadModule php7_module     modules/libphp7.so

PHP를 실행하는 방법을 아는 사람이 있습니까?

혹시라도 관련될 수 있는 디렉터리 및 파일에 대한 몇 가지 정보를 알려 드리겠습니다.

/등/

  • 아파치 2/

  • php-fpm.conf

  • PHP-fpm.d/

  • php.ini

/etc/apache2/

  • 추가의/

  • httpd.conf.bak

  • 무언극 유형

  • httpd.conf

  • 마법

  • 원래/

/usr/lib/php/

  • (비어 있는)

/usr/모듈/libphp7.so

답변1

모듈(httpd.conf 파일에 질문 내용에 따라 수행됨이 표시됨)을 로드하는 것 외에도 SetHandler지시문 *.php이나 기타 적절한 확장을 사용해야 합니다.

이와 같은 것이 작동해야 합니다. 그냥 문 뒤에 넣으세요 LoadModule.

<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

위 명령문의 목적은 Apache에게 특정 확장자를 가진 파일을 처리하는 방법을 알려주는 것입니다. 이것은 파일의 여러 다른 끝( 문자열의 끝을 나타냄) .+\.ph(p[3457]?|t|tml)$과 일치하는 정규식(regex)입니다 . 따라서, 등으로 끝나는 파일이 브라우저로 전송 됩니다 .$.php.php3.php4

httpd 서비스를 다시 시작하는 것을 잊지 마십시오.

그래도 작동하지 않으면 로드하려는 모듈을 참조하는 경로를 확인하고 모듈이 libphp7.so로드할 올바른 위치에 있는지 확인하세요.

관련 정보