문제

우리가 사용하여 문제 PEAR 라이브러리 WindowsPHP.

배을 포함한 많은 클래스를,우리는 우리의 사용을 만드는 공정한 몇 가지 중 하나는,이메일 등에서 발견 Mail.php.우리가 사용하는 배에는 경로가하는 것이 아니라 전체 경로를 명시적으로하는 개인 배파일:

require_once('Mail.php');

보다:

require_once('/path/to/pear/Mail.php');

이 문제의 원인에서 관리 모듈의 사이트가 mail.php 파일(사용하여 메일을 보낼 사용자에게).만일 우리가 관리하는 화면 이메일을 보내(사용자와 같이 관리하는 화면을 생성할 수 있고 이메일로 새로운 임의의 비밀번호를 사용자면 그들은 승인에서 적당히 큐)그리고 우리는 시도를 포함 Mail.php 우리는"실수로"포함됩 mail.php.

을 변경하지 않고 앞에 추가한 전체 경로를 배치 명시적으로 요구하는 배듈(표준이 아닌,일반적으로 설치 배기...)방법이 있을 적용하는 PHP 에서 필요한 파일을 경우 민감하게?

우리는 추가 배의 경로를 포함한 경로 자신을 그래서 제어 경로를 통해 주문.우리는 또한 인식해야 한다는 것을 사용하지 파일 이름을 충돌하는 배 이름에 관계없이의 경우,그리고 미래에 그렇게 할 것입니다.이 페이지나(지 않는 파일을 포함하지만,컨트롤러),된 저장소에서 몇 년 동안,그리고 특히 플러그인을 생성하는 URL 을 제공하는 링크/리디렉션을 본 페이지에서 자신의 처리합니다.

(우리 지원을 아파치는 Microsoft IIS,LightHTTPD 와 제우스에 사용하 PHP4.3 이상을 포함하여(PHP5))

도움이 되었습니까?

해결책

2 동일한 이름을 가진 파일을 포함 경로에 좋은 아이디어,이름을 변경하는 파일 그래서 파일을 썼다는 다른 이름에서 타사 라이브러리입니다.어쨌든 현재 상황에 대한 생각의 순서를 변경하여 경로에서 포함 경로,당신은 당신이 문제를 해결할 수 있습니다.PHP 검색에 대한 파일에서 포함 경로를,하나에 의해 하나입니다.할 때 필요한 파일에서 발견되는 경로를 포함,PHP 것이 중 검색에 대한 파일.그래서 관리 섹션에서의 응용 프로그램,포함하려는 경우에는 배 메일을 파일 대신 mail.php 당신이 쓴 변경 포함 경로에 그래서 배는 경로가기 전에 현재 디렉터리입니다.다음과 같은 것이 가능합니다.

<?php
  $path_to_pear = '/usr/share/php/pear';
  set_include_path( $path_to_pear . PATH_SEPARATOR . get_include_path() );
?>

다른 팁

그 OS 수준의 것,내가 하는 것을 믿지 않는 쉬운 방법을 찾았습니다.

당신이 시도할 수 있습을 변경하에서 포함 include('Mail.php'); 하기 include('./Mail.php');, 지만,나는 특정하지 않는 경우에는 작업에 대 Windows 상자(지 않는 한 PHP 을 테스트합니다).

를 사용하는 경우 PHP4,활용할 수 있습니다 버그입니다.물론 그것은 지저분한 솔루션...

또는 당신은 단지 당신의 이름 바꾸기 mail.php 파일 뭔가 다른...

저는 이 문제가 발생 NTFS 코드에 Win32 하위 시스템에 있습니다.당신이 사용하는 경우는 설치할 수 있는 Ext2 파일 시스템(IFS),당신이 얻어야 하는 경우에 감도는 드라이브입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top