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를 다시 시작합니다.
이 튜토리얼의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!