>  기사  >  백엔드 개발  >  Anchor CMS 0.8이 CGI 서버에서 "지정된 입력 파일 없음" 오류를 발생시키는 이유는 무엇입니까?

Anchor CMS 0.8이 CGI 서버에서 "지정된 입력 파일 없음" 오류를 발생시키는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-10 11:01:02680검색

Why Does Anchor CMS 0.8 Throw a

앵커 CMS에서 "입력 파일이 지정되지 않음" 오류 해결

앵커 CMS를 다음으로 업그레이드하는 동안 발생하는 "입력 파일이 지정되지 않음" 오류 버전 0.8은 서버, 특히 CGI의 PHP 구현에서 비롯되었습니다.

이 오류를 이해하려면 시스템이 URL을 처리하는 방식을 이해하는 것이 중요합니다. 제공된 .htaccess 파일에 따르면 CMS에서는 URL이 PATH_INFO 변수로 전달될 것으로 예상합니다. 그러나 CGI 구현에는 PATH_INFO가 부족하여 URI를 전달하려고 시도할 때 PHP가 앞서 언급한 오류를 반환합니다.

솔루션 탐색:

  1. 수정을 시도하는 중 문제:

    • 가능하더라도 GoDaddy와 같은 공유 호스팅 환경에서는 PHP 설정 수정이 허용되지 않을 것입니다.
  2. 대안 접근 방식:

    • System/uri.php는 PATH_INFO와 REQUEST_URI라는 두 가지 유형의 URI 감지를 사용합니다. 우리의 경우에는 PATH_INFO에 문제가 있으므로 REQUEST_URI로 전환합니다.
    • 그러나 URI를 REQUEST_URI에 직접 전달하면parse_url()에 의한 구문 분석이 충분하지 않아 URL 경로만 반환됩니다.
    • 따라서, 유일한 실행 가능한 솔루션은 CMS를 수정하는 것입니다 core.

수정된 .htaccess 및 System/uri.php 수정 사항:

system/uri.php 수정:

  • QUERY_STRING을 배열의 첫 번째 요소로 라인에 추가하세요. 40.

.htaccess 수정:

  • URI를 쿼리 문자열로 전달하도록 RewriteRule을 변경합니다.

    RewriteRule ^(.*)$ index.php?/ [L]

이 해결 방법을 사용하면 URI를 다음과 같이 index.php에 전달할 수 있습니다. QUERY_STRING, URI 감지 메커니즘을 사용하여 찾을 수 있습니다. 그러나 이 문제가 해결될 때까지 수정된 코어 파일을 유지 관리해야 합니다.

대체 CMS 옵션 고려:

앞서 언급한 접근 방식이 부적절한 것으로 판명되면 다음을 수행하는 것이 좋습니다. 이러한 문제가 발생하지 않는 더욱 강력하고 안정적인 CMS를 고려해보세요.

위 내용은 Anchor CMS 0.8이 CGI 서버에서 "지정된 입력 파일 없음" 오류를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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