복붙노트

어떤 입력 파일을 지정하지

PHP

어떤 입력 파일을 지정하지

Anchor CMS를 실행 중이며 버전 0.8로 업그레이드했습니다. 설치 프로그램을 실행하면 '입력 파일이 지정되지 않았습니다'오류가 발생합니다. 나는 그것이 .htaccess 문제보다 더 많이 발생할 것이라고 생각하지만 정확한 설정이 무엇인지 잘 모르겠습니다.

내 사이트는 여기에서 찾을 수 있습니다.

내 .htaccess는 다음으로 설정됩니다.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase {base}

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ {index} [L]
</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>

또한 GoDaddy가 도움이된다면 호스팅 제공 업체로 사용하고 있습니다.

해결법

  1. ==============================

    1.지정된 입력 파일 없음은 서버에 PHP를 구현했기 때문에 표시되는 메시지입니다.이 경우 CGI 구현을 나타냅니다 (phpinfo ()로 확인할 수 있음).

    지정된 입력 파일 없음은 서버에 PHP를 구현했기 때문에 표시되는 메시지입니다.이 경우 CGI 구현을 나타냅니다 (phpinfo ()로 확인할 수 있음).

    이제 이것을 올바르게 설명하려면 시스템이 URL의 작동 방식에 대한 기본적인 이해가 필요합니다. .htaccess 파일을 기반으로하면 CMS에서 URL이 PATH_INFO 변수로 전달 될 것으로 예상됩니다. CGI와 FastCGI 구현은 PATH_INFO를 사용할 수 없으므로 URI를 전달할 때 PHP가 해당 메시지와 함께 실패합니다.

    우리는 대안을 찾아야합니다.

    한 가지 방법은이 문제를 해결하는 것입니다. 핵심 php.ini 지시어에 대한 문서를 살펴보면 구현을위한 작업을 변경할 수 있음을 알 수 있습니다. 하지만 GoDaddy는 공유 환경에서 PHP 설정을 변경하지 못하게 할 것입니다.

    PHP 설정 수정에 대한 대안을 찾아야합니다. system / uri.php에서 40 행을 보면 CMS가 두 가지 유형의 URI 검색을 시도한다는 것을 알 수 있습니다. 첫 번째는 PATH_INFO이며 방금 배운 것은 배웠습니다. 다른 하나는 REQUEST_URI입니다.

    이것은 기본적으로 충분해야하지만 - URI 전달을 파싱하면 REQUEST_URI 변수에 전달할 수있는 URI가 parse_url ()이 URL 경로 만 반환하도록하므로 문제가 발생할 수 있습니다. 기본적으로 다시 돌아옵니다. 제로.

    실제로 실제로는 하나의 가능성 만 남았고 CMS의 핵심을 변화시키고 있습니다. URI 탐지 부분이 충분하지 않습니다.

    QUERY_STRING을 system / uri.php의 첫 번째 요소 인 40 행의 배열에 추가하고 .htaccess를 다음과 같이 변경하십시오.

    RewriteEngine On 
    
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    
    RewriteRule ^(.*)$ index.php?/$1 [L]
    

    이렇게하면 index.php에 요청한 URI가 QUERY_STRING으로 전달되고 URI를 검색하여 찾을 수 있습니다.

    반면에 이것은 수정 될 때까지 코어 파일을 변경하지 않고 CMS를 업데이트하는 것을 불가능하게 만듭니다. 그게 ...

    더 나은 옵션이 필요하십니까? 더 나은 CMS를 찾으십시오.

  2. ==============================

    2.http://support.statamic.com/kb/hosting-servers/running-on-godaddy를 인용하면 :

    http://support.statamic.com/kb/hosting-servers/running-on-godaddy를 인용하면 :

    가장 쉬운 대답은 한 줄만 바꾸면 모두 설정됩니다.

    godaddy 호스팅에 권장됩니다.

  3. ==============================

    3.필자의 경우, php.ini open_basedir 변수에 오류가있었습니다.

    필자의 경우, php.ini open_basedir 변수에 오류가있었습니다.

  4. ==============================

    4.나는 똑같은 문제가 있었다. 이 문제를 해결하기 위해 수행 한 작업은 다음과 같이 htacces 파일을 수정하는 것입니다.

    나는 똑같은 문제가 있었다. 이 문제를 해결하기 위해 수행 한 작업은 다음과 같이 htacces 파일을 수정하는 것입니다.

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /crm/
    
    Options +FollowSymLinks 
    
    RewriteCond %{HTTP_HOST} ^mywebsite.com [NC] 
    
    RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301] 
    
    RewriteRule ^index\.php$ - [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L]
    
    RewriteRule ^index.php/(.*)$ [L]
    </IfModule>
    
  5. ==============================

    5.GoDaddy는 현재 PHP 5.2.x 또는 이전 버전을 사용하는 일부 계정에 대해 FastCGI의 수정을 지원하는 (2 월 '13)입니다. GoDaddy 기사 "호스팅 계정에서 FastCGI 비활성화"를 참조하십시오. (제 경우에는 LimeSurvey (2.0)의 최신 버전을 실행 상태로 만드는 데 필요한 것은 분명합니다.)

    GoDaddy는 현재 PHP 5.2.x 또는 이전 버전을 사용하는 일부 계정에 대해 FastCGI의 수정을 지원하는 (2 월 '13)입니다. GoDaddy 기사 "호스팅 계정에서 FastCGI 비활성화"를 참조하십시오. (제 경우에는 LimeSurvey (2.0)의 최신 버전을 실행 상태로 만드는 데 필요한 것은 분명합니다.)

  6. ==============================

    6.php5.ini를 추가해도 전혀 작동하지 않습니다. 그러나 GoDaddy의이 기사에서 'FastCGI 사용 안 함'섹션을 참조하십시오 : http://support.godaddy.com/help/article/5121/changing-your-hosting-accounts-file-extensions

    php5.ini를 추가해도 전혀 작동하지 않습니다. 그러나 GoDaddy의이 기사에서 'FastCGI 사용 안 함'섹션을 참조하십시오 : http://support.godaddy.com/help/article/5121/changing-your-hosting-accounts-file-extensions

    .htaccess 파일 (웹 루트 및 웹 사이트 설치 디렉토리)에 다음 행을 추가하십시오.

    Options +ExecCGI
    addhandler x-httpd-php5-cgi .php
    

    그것은 나를 구원한다! 건배! DragonLord에게 감사드립니다!

  7. ==============================

    7.그것은 나를 위해 일했습니다 .htaccess 파일의 맨 위에 추가하십시오. 그것은 godaddy 공유 호스팅 계정에서 FastCGI를 비활성화합니다.

    그것은 나를 위해 일했습니다 .htaccess 파일의 맨 위에 추가하십시오. 그것은 godaddy 공유 호스팅 계정에서 FastCGI를 비활성화합니다.

    옵션 + ExecCGI

    addhandler x-httpd-php5-cgi .php

  8. ==============================

    8.ulimit -n 2048 실행

    ulimit -n 2048 실행

    그리고 php / php-fpm을 다시 시작하십시오.

  9. ==============================

    9.나를위한 해결책은 내 도우미 파일 중 하나에서 공백을 제거하는 것이 었습니다. 오류가 두 페이지, CI 세션 파일 및 내 사용자 지정 도우미 중 하나를 포함합니다.

    나를위한 해결책은 내 도우미 파일 중 하나에서 공백을 제거하는 것이 었습니다. 오류가 두 페이지, CI 세션 파일 및 내 사용자 지정 도우미 중 하나를 포함합니다.

  10. from https://stackoverflow.com/questions/14555996/no-input-file-specified by cc-by-sa and MIT license