2012-02-13 3 views
0

저는 PHP로 새롭고 문의 양식을 작성하려고합니다.PHP에 문제가 있습니다.

내 contact.php 파일에서 Mail.php를 배 메일 패키지 (Mail.php와 Mail 폴더를 루트에 복사했습니다. 직접 설치할 수있는 ssh 액세스 권한이 없기 때문에)입니다. 나는이 얻을 알 수없는 이유로

<?php 
if([email protected]_exists('./Mail.php')) { 
    echo 'can not include'; 
} else { 
    include('./Mail.php'); 
} 
//rest of the code 
?> 

:

지금 내 PHP에서 나는이를 넣어

The website encountered an error while retrieving http://example.com/contact.php. It may be down for maintenance or configured incorrectly. 
Here are some suggestions: 
Reload this webpage later. 
HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request. 
  • 이 example.com 내 호스트 숨길 교체

내가 include 문을 언급하면 ​​오류가 더 이상 발생하지 않는다 ... 내가 이해하지 못하는 것은 내가 잘못하고있는 것이 ... 나는 su이다. 그 Mail.php 내 contact.php 파일과 동일한 루트 디렉토리에 있습니다.

+1

서버의 오류 로그를 확인하십시오. 500 오류 메시지에 대한 자세한 정보가있을 것입니다. 브라우저에서 볼 수있는 내용은 의도적으로 모호합니다. 500 개의 오류가 비공개로 유지되어야하는 중요한 내부 데이터를 나타낼 수 있습니다. –

+0

아마도 include 대신 require_once를 사용하려고 시도하고 어떤 일이 벌어 지는지 보시겠습니까? – Giannis

답변

2

Mail.php directl을 방문해보십시오. 일부 Apache 유가 증권이 활성화되어있을 수 있습니다.

다른 문제는 도움이 될에 등

일부 디버그 정보, 권한/소유권 때문일 수 있습니다.

0

당신이 파일을 제대로 포함되지 않은 것 같은데 :

<?php 
if([email protected]_exists('./Mail.php')) { 
    echo 'can not include'; 
} else { 
    include('./Mail.php'); 
} 
//rest of the code 
?> 

사용 ../ Mail.php의 한 레벨 위의 폴더에 재귀 즉 볼 수 있습니다.

코드 읽어야합니다

include('../Mail.php') 
1

으로는 요청 된 파일을 가져 시도 등이 있습니다. 실패하면 계속해서 경고 만 생성합니다. Include 라인에 치명적인 오류가 생기고 include를 주석 처리 할 때, Message.php가 이 포함되어야 함을 나타내야합니다. 그러나 포함되는 것은 오류입니다.이 포함되어 있습니다. 오류 로그를 확인하여 Mail.php의 문제점을 확인하는 것이 좋습니다. @Mikhail이 무언가에있을 수 있습니다. Mail.php를 방문하면 오류가 무엇인지 알 수 있습니다.

또한 Mail.php가 같은 폴더에 위의 PHP 파일과 동일한 것으로 알고 있다면 include('./Mail.php')을 사용할 필요가 없습니다. include('Mail.php')도 잘 작동합니다.

관련 문제