1. 문제 설명
php 파일 test.php를 작성했는데 코드는 다음과 같습니다.
<?php echo phpinfo(); ?>
브라우저에서 방문했지만 NULL이 반환되었습니다.
2. 문제 위치 및 해결 방법
온라인으로 확인한 결과 실제로 대부분의 사람들이 겪는 문제는 short_open_tags입니다. 해당 코드는 다음과 같습니다.
<? echo phpinfo(); ?>
이 경우 Open에서 php.ini를 변경해야 합니다. short_open_tags를 설정한 다음 php.ini 서비스를 다시 로드하면 문제가 없습니다.
여기에 두 가지 질문이 더 있습니다. 하나는 php가 실행될 때 어떤 php.ini 파일이 로드되는지 확인하는 방법입니다. php --ini를 사용하여 php.ini 파일을 찾으세요. php.ini 파일을 다시 로드하는 방법, 서버에서 php-fpm이 활성화되어 있으면 일반적으로 php-fpm을 다시 시작해도 됩니다. 명령은 다음과 같습니다. php-fpm 서비스(php의 이전 버전)가 활성화되지 않았습니다. 일반적으로 Apache 서비스를 다시 시작해도 괜찮습니다. 명령은 service httpd restart입니다.
위 단계를 완료하면 대부분의 사람들이 겪는 문제가 해결되지만 이것은 내 문제가 아닌 다른 사람의 문제입니다...
이건 뭔가가 있을 것 같다는 느낌을 받을 수밖에 없습니다. php 설정을 하려고 해서 공식 홈페이지에 가서 php.ini 문서를 살펴보니 다음과 같은 설정이 있습니다.
disable_functions string
이 명령을 사용하면 보안상의 이유로 특정 기능을 비활성화할 수 있습니다. 쉼표로 구분된 함수 이름 목록을 인수로 허용합니다. 비활성화_기능은 안전 모드의 영향을 받지 않습니다. 이 지시문은 php.ini에서만 설정할 수 있습니다. 예를 들어, httpd.conf에서 설정할 수 없습니다
이것은 php.ini에서 일부 메소드를 구성할 수 있지만 해당 메소드를 호출할 수 없음을 의미합니다. 이 구성을 찾으려면 phpinfo() 메소드가 필요합니다.
disable_functions = phpinfo,system,proc_open,proc_close,show_source,popen,pclose
disable_functions에서 phpinfo() 메서드를 일시적으로 삭제하고 php.ini 파일을 다시 로드한 다음 브라우저에서 다시 test.php에 액세스했다는 생각이 갑자기 들었습니다. 이번에는 성공했고 문제가 해결되었습니다. 하지만 phpinfo()는 매우 민감한 정보이므로 일반적으로 클라이언트에 노출시키지 않는 것이 가장 좋기 때문에 테스트 후에는 빨리 꺼 두었습니다.
PHP 중국어 웹사이트에는 무료 Swoole 입문 튜토리얼이 많이 있습니다. 누구든지 배울 수 있습니다!
위 내용은 swoole phpinfo()가 표시되지 않으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!