>  기사  >  백엔드 개발  >  PHP가 도메인 이름을 확인할 수 없으면 어떻게 해야 합니까?

PHP가 도메인 이름을 확인할 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2022-12-02 09:26:275863검색

php가 도메인 이름을 확인할 수 없는 문제에 대한 해결 방법: 1. 터미널 명령줄을 사용하여 "# php -r "echo(gethostbyname('...'));";" 명령을 실행합니다. "libnss_dns.so.2 libnss_files.so.2 libresolv.so.2"가 가상 호스트의 lib 디렉토리에 복사됩니다. 3. "# amh php restart xxx.com"을 통해 php를 다시 시작합니다.

PHP가 도메인 이름을 확인할 수 없으면 어떻게 해야 합니까?

이 튜토리얼의 운영 환경: linux5.9.8 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

PHP가 도메인 이름을 확인할 수 없으면 어떻게 해야 하나요?

PHP에서 도메인 이름 확인 실패 문제에 대해

가상 호스트 패널을 사용하여 시스템을 관리하는 데 특히 amh 패널을 사용하는 데 주의하세요! !

요즘 죽을 고생을 하고 있습니다. amh 패널을 설치한 후 gethostbyname, 컬, 이메일 보내기 등 도메인 이름 확인을 사용하는 모든 기능이 실패합니다. URL이 도메인 이름인 한 모두 실패합니다. .. IP 주소로 변경해 보세요. 처음에는 DNS 문제인 줄 알았는데, 확인해 보니 8.8.8.8과 8.8.4.4도 사용하고 있었습니다. NSlookup도 정상입니다. 가장 이상한 점은 터미널을 사용하여 명령줄 터미널을 실행하면

# php -r "echo(gethostbyname('www.baidu.com'));";

가 실제로 IP를 반환할 수 있으므로 amh를 겨냥한 것입니다. 오랫동안 온라인에서 검색해 본 결과입니다. 많은 사람들이 찾았지만 해결책을 찾지 못했습니다. 나중에 우연히 Baidu에서 chroot에 대해 검색한 후 이것이 시스템 환경을 지정된 디렉토리로 전환한다는 것을 발견했습니다. 디렉토리 외부의 시스템 환경은 사용할 수 없습니다. . 점차 명확해져서 DNS를 구문 분석하는 데 필요한 것이 무엇인지 확인했습니다. 주로 다음 세 가지를 확인합니다.

libnss_dns.so.2  libnss_files.so.2  libresolv.so.2

이제 요점이 나옵니다. amh 패널, 동일한 문제가 발생하면 확인하세요. 가상 호스트 디렉터리로 cd하세요: /home/wwwroot/xxx.com/, 아래 etc, lib, usr, web, tmp 등과 같은 디렉터리가 있습니다. 위에서 언급한 세 개의 lib를 가상 호스트의 lib 디렉터리에 복사하세요

# cp /lib/i386-linux-gnu/libnss_* /home/wwwroot/xxx.com/lib/

지금 다시 시도해보세요. 성공하셨나요?

아, 말을 너무 많이 하면 눈물이 나네요...

------------------------------- -

PS: 마지막으로 한 단계를 완료한 후 php, amh를 다시 시작해야 합니다. 직접 명령:

# amh php restart xxx.com

권장 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP가 도메인 이름을 확인할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.