RHEL/CentOS 와 Windows 및 Unix 에 php 설치
Window에 설치
php 5.6 부터 WebServer를 내장했으므로 내장 웹서버를 통해 개발환경을 설정하는 걸로 가정했습니다.
Php the right way 에 따라 최신 버전의 PHP 를 사용하는 것을 권장합니다.
- http://windows.php.net/download/ 에서 사용하는 OS 의 비트수에 맞게 php 를 다운로드합니다. (NTS 는 None Thread Safe 인데 개발시에는 별 문제가 없겠지만 Thread Safe 버전을 받는 것을 권장합니다.)
예: http://windows.php.net/downloads/releases/php-7.1.9-Win32-VC14-x64.zip 적당한 폴더에 압축을 풀고 해당 폴더로 이동합니다.
cd d:\devel\php\php-7.1.9-Win32-VC14-x64
- Windows 의 PATH 환경 변수에 위 폴더를 추가합니다.
- php.ini-development 파일을 php.ini 로 복사하고 에디터로 엽니다.
extension_dir 을 php 를 설치한 경로로 수정(이게 없으면 windows 에서는 extension 을 제대로 로딩하지 못합니다.)
extension_dir = "ext"
사용하는 php extension 들을 주석 해제하여 활성화합니다. 어떤 항목을 해제할 지 모르겠다면 아래와 같이 쓸 일이 거의 없는 몇 개 모듈(gmp, interbase 등) 을 빼고 주석 해제해 주면 됩니다.
그 외 몇 가지 항목을 필요시 설정합니다.
## Maximum amount of memory a script may consume (128MB) memory_limit = 256M upload_max_filesize = 2M post_max_size = 8M date.timezone 을 ""Asia/Seoul"
현재 폴더에 i.php 를 만들고 아래 내용을 넣고 저장합니다.
<?php phpinfo();
PHP 내장 웹서버를 구동합니다.
php 내장 웹서버 구동php -S localhost:8000
Browser 에서 localhost:8000/i.php 을 입력하여 php 의 정상 설치 여부를 확인합니다.
RHEL/CentOS 에 설치
Un*x에서 Source 로 설치
아래의 내용은 오래 됐으니까 리눅스에 여러 버전의 php 설치하기(php multiple version) 참고하세요.
설치는 소스를 빌드하거나 각 OS 별로 제공되는 Package를 받아서 설치할 수 있으며 GNU automake, Autoconf 를 이용하여 빌드하므로 다음 세 가지 절차를 거쳐서 빌드됩니다.
./configure make make install
컴파일시에 --disable-module 명을 주어 다음과 같이 특정 extension들을 비활성화 할 수 있으며 (예: openssl 비활성화시 --without-openssl 추가) ./configure 뒤에는 다음과 같은 옵션들을 줄 수가 있습니다.
## 아파치 2.x대의 모듈로 빌드. apxs의 경로 필요. --with-apxs2=/usr/local/apache2/bin/apxs ## Oracle 지원을 포함하여 빌드. 옵션뒤에 Oracle Directory를 명시할수 있으며 주어지지 않을 경우 $ORACLE_HOME을 참고. --with-oci8 ## MySQL 지원을 포함하여 빌드. --with-mysql=/opt/mysql ## MySQL 을 사용할 경우 Unix Domain Socket의 경로를 지정. --with-mysql-sock=/tmp/mysql.sock
기타 다른 옵션은 ./configure --help 를 수행하면 볼 수 있으며 기본적으로 gcc를 사용하며 debugging 정보를 넣어서 컴파일 하는데 configure 수행시 사용할 컴파일러를 다음과 같이 지정할 수 있습니다.
CC=cc CFLAGS=-O ./configure options ..
--prefix 옵션을 추가할 경우 설치할 경로를 지정할 수 있습니다(기본값 /usr/local/)
configure
다음 옵션은
- MySQL 을 지원하고
- OpenSSL을 지원하고
- /usr/local 에 설치하도록 컴파일 합니다.
CFLAGS=-O ./configure --with-apxs2=/usr/sbin/apxs --with-mysql --with-pdo-mysql --with-openssl --prefix=/usr/local
설치
make install 을 수행하면 설치가 되며 /usr/local 등의 폴더는 root 권한이 필요하므로 make install 시 적절한 권한의 유저로 수행해야 합니다.
test
make test 를 수행합니다.
run
Oracle 을 지원했을 경우 다른 시스템에 컴파일된 버전을 옮기면 Oracle library 나 기타 의존성 있는 라이브러리의 경로가 달라서 실행되지 않을 수 있습니다.
이럴 경우 ldd `which php` 를 통해 의존성 있는 shared library 들이 어떤건지 확인 후 의존성 있는 library가 있는 경로를 LD_LIBRARY_PATH 환경 변수에 설정하여 php 를 구동해야 합니다