"PHP 라이브러리 디렉토리 /usr/share/php"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 17개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
;PHP 라이브러리 폴더
;PHP 라이브러리 폴더
;/usr/share/php
;/usr/share/php
* 필자가 사용하는 PHP 라이브러리 폴더
* 웹을 통해 직접 접속할 수 없도록 [[DOCUMENT_ROOT]]가 아닌 곳을 사용
* inlcude 하여 사용하도록 함
* 일반적으로 PHP를 설치하면 include_path로 잡힌다.
:보통 빈 폴더 상태. 간혹 폴더가 없는 경우도 있음 (없으면 만들어서 사용하면 됨)
* 파일시스템 어느 곳에서나 간단히 - 단, 개별적/명시적으로<ref>즉 라이브러리간 의존성은 개발자가 직접 관리해야 함</ref> - 라이브러리를 참조할 수 있게 하자는 생각
* git, composer를 통해 vendor의 라이브러리를 폴더째 관리해보자.
:프로젝트 폴더에 - 지역적으로 - 필요한 라이브러리를 통합구성<ref>의존성 자동 관리</ref>하고 autoload시키자는 [[composer]] 기본사상과는 차이가 있음


;PHP 라이브러리 vendor 폴더
==path 확인 예시==
;/usr/share/php/vendor
*CentOS
 
<syntaxhighlight lang='console'>
==/usr/share/php==
*필자가 사용하는 PHP 라이브러리 폴더
*웹을 통해 직접 접속할 수 없도록 [[DOCUMENT_ROOT]]가 아닌 곳을 사용
*inlcude 하여 사용하도록 함
 
<source lang='console'>
[root@zetawiki ~]# php -i | grep ^include
[root@zetawiki ~]# php -i | grep ^include
include_path => .:/usr/share/pear:/usr/share/php => .:/usr/share/pear:/usr/share/php
include_path => .:/usr/share/pear:/usr/share/php => .:/usr/share/pear:/usr/share/php
</source>
</syntaxhighlight>
:→ 없으면 만들자


==/usr/share/php/vendor==
*우분투
*원래는 없는 폴더
<syntaxhighlight lang='console'>
*외부에서 받은 패키지 라이브러리를 두는 곳
root@zetawiki:~# php -i | grep ^include
*/usr/share/php 아래의 vendor 폴더
include_path => .:/usr/share/php:/usr/share/pear => .:/usr/share/php:/usr/share/pear
*git clone 등의 방법으로 원형 그대로 설치
</syntaxhighlight>


==라이브러리 폴더 배치 원칙==
==라이브러리 폴더 배치 원칙==
어디에도 없는, 필자가 생각해본 것...
어디에도 없는, 필자가 생각해본 것...
* 라이브러리는 웹상에서 직접 접근할 수 없는 위치에 있어야 함
* 라이브러리를 통째로 설치하고 그 폴더 구조를 변형하지 않아야 함
* 라이브러리를 통째로 설치하고 그 폴더 구조를 변형하지 않아야 함
:vendor 폴더 아래로 git clone, 압축 해제(tar xvf, unzip) 등으로 설치하고 원형 그대로 보존
* 라이브러리는 웹상에서 직접 접근할 수 없는 위치에 있어야 함 (보안)
* 라이브러리 활용시 비교적 짧은 경로로 접근 가능해야 함
* 라이브러리 활용시 비교적 짧은 경로로 접근 가능해야 함
:php 폴더에 실제 경로의 심볼릭링크를 생성
:→ include_path가 잡혀 있으므로 짧은 상대경로로 접근 가능


==같이 보기==
==같이 보기==
40번째 줄: 41번째 줄:
*[[PHPLinq 설치]]
*[[PHPLinq 설치]]
*[[nusoap 설치]]
*[[nusoap 설치]]
==주석==


[[분류: /usr/share]]
[[분류: /usr/share]]
[[분류: PHP 라이브러리]]
[[분류: PHP 라이브러리]]
[[분류: 폴더]]
[[분류: 디렉토리]]

2021년 10월 18일 (월) 10:21 기준 최신판

1 개요[ | ]

PHP 라이브러리 폴더
/usr/share/php
  • 필자가 사용하는 PHP 라이브러리 폴더
  • 웹을 통해 직접 접속할 수 없도록 DOCUMENT_ROOT가 아닌 곳을 사용
  • inlcude 하여 사용하도록 함
  • 일반적으로 PHP를 설치하면 include_path로 잡힌다.
보통 빈 폴더 상태. 간혹 폴더가 없는 경우도 있음 (없으면 만들어서 사용하면 됨)
  • 파일시스템 어느 곳에서나 간단히 - 단, 개별적/명시적으로[1] - 라이브러리를 참조할 수 있게 하자는 생각
  • git, composer를 통해 vendor의 라이브러리를 폴더째 관리해보자.
프로젝트 폴더에 - 지역적으로 - 필요한 라이브러리를 통합구성[2]하고 autoload시키자는 composer 기본사상과는 차이가 있음

2 path 확인 예시[ | ]

  • CentOS
[root@zetawiki ~]# php -i | grep ^include
include_path => .:/usr/share/pear:/usr/share/php => .:/usr/share/pear:/usr/share/php
  • 우분투
root@zetawiki:~# php -i | grep ^include
include_path => .:/usr/share/php:/usr/share/pear => .:/usr/share/php:/usr/share/pear

3 라이브러리 폴더 배치 원칙[ | ]

어디에도 없는, 필자가 생각해본 것...

  • 라이브러리를 통째로 설치하고 그 폴더 구조를 변형하지 않아야 함
  • 라이브러리는 웹상에서 직접 접근할 수 없는 위치에 있어야 함 (보안)
  • 라이브러리 활용시 비교적 짧은 경로로 접근 가능해야 함
→ include_path가 잡혀 있으므로 짧은 상대경로로 접근 가능

4 같이 보기[ | ]

5 주석[ | ]

  1. 즉 라이브러리간 의존성은 개발자가 직접 관리해야 함
  2. 의존성 자동 관리
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}