. : PHP include_path의 의미는 무엇입니까?


10

xampp를 실행하는 컴퓨터에 Zend를 설치하려고합니다. Zend의 도움말 파일에 따르면 명령 줄 도구를 설정하려면 / library 디렉토리의 내용이 내 php include_path 지정된 디렉토리 안에 있어야합니다.

내 php.ini를 보면 include_path가 주석 처리되었지만 값은 다음과 같습니다.

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"

include_path가 정확히 가리키는 곳은? 나는 리눅스를 처음 접했고 파일 경로의 일부로. :를 본 적이 없다.


2
"xampp를 실행하는 기계"를 언급
하셨습니다.

1
왜? xampp는 완벽하게 실행됩니다.
EmmyS

2
Ubuntu의 램프 서버 메타 패키지 (tasksel → LAMP 서버)는 ubuntu와 특히 잘 작동하도록 설계된 램프 스택 배포판입니다 . 물론 xampp를 사용할 수 있으며 잘 작동하지만 Ubuntu의 배포 (버전)가 권장됩니다 (정규의 엔터프라이즈 지원을 사용하려면 필요).
Stefano Palazzo

답변:


4

:는 디렉토리 목록의 구분 기호입니다.

. 현재 디렉토리를 의미

따라서 PHP 스크립트가 포함 파일을 찾을 때 PHP 파일과 동일한 디렉토리 및 / php / includes를 찾습니다.


그래서 경로는 현재 두 디렉토리를 포함하고 있습니다-현재 디렉토리 (실제로 php.ini를 포함하는 디렉토리를 의미한다고 가정합니다)와 / php / includes? / php / includes는 어디에 있습니까 (이 경로에 관한 한)? 현재 디렉토리 안에 있습니까? 아니면 다른 곳?
EmmyS

거의. php.ini가 아닌 각 특정 PHP 파일과 관련된 현재 디렉토리입니다. / php / includes는 파일 시스템의 최상위 'php'폴더 (/ usr, / etc와 같은 수준)를 기대하는 절대 경로입니다.
misterben

7

.:실제로 불과하다 .(이후 :스크립트가 include_path의 일부로 포함되어 실행되고있는 현재 폴더를 의미 다중 경로를 분리하는 키워드이다). 같은 디렉토리에 두 개의 파일이있는 경우 :

index.php
include-me.php

를 사용하여 PHP에 초를 포함시킬 수 있습니다 include('include-me.php');. 없이 .경로에있는 당신은 그렇게 할 수 없을 것입니다.

따라서 언급 한대로 설치를 완료하려면 /library작업중 인 스크립트가있는 동일한 폴더에 또는 ini 파일에서 내용 /php/includes을 제거해야 ;합니다. 다음과 같은 다른 디렉토리를 작성 하여 include 경로 명령문에 /opt/Zend/library추가 할 수도 있습니다 /opt/Zend/library.include_path = ".:/php/includes:/opt/Zend/library"

마지막으로 Ubuntu를 실행하고 있으므로 대신 Ubuntu의 LAMP 설정을 사용하는 것이 좋습니다 (대부분의 모든 설명서에서는 사용중인 것으로 가정). XAMPP를 제거 sudo tasksel install lamp-server하고 시스템에 Apache 2.2, MySQL, PHP 5.3을 설치 하여 수행 할 수 있습니다 . LAMP 스택을 설정하는 가장 쉬운 방법무엇입니까?


1
나는 xampp에 완벽하게 만족합니다. 그래도 다른 정보에 감사드립니다.
EmmyS

@EmmyS 괜찮습니다 : D-방금 답변에 "Why"라는 의견에 대한 답변을 포함 시켰습니다. 당신이 정보를 알고 싶어요.
Marco Ceppi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.