PHP 공식 사이트 설치 메뉴얼
https://www.php.net/manual/en/install.unix.apache2.php
$ apt-get install libxml2-dev
$ apt-get install libjpeg-dev
$ apt-get install libpng-dev
최신 버전 확인
https://www.php.net/
/usr/local# wget https://www.php.net/distributions/php-8.1.5.tar.gz
/usr/local# tar xvfz php-8.1.5.tar.gz
/usr/local# cd php-8.1.5
$ ./configure \
--with-apxs2=/usr/local/apache2.4/bin/apxs \
--enable-mysqlnd \
--with-mysql-sock=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-imap-ssl \
--with-iconv \
--enable-gd \
--with-jpeg \
--with-libxml \
--with-openssl
$ make
$ make test
$ make install
💊 중간에 sqlite3이 없다고 오류가 발생한다.
아래 명령어를 통해 설치해준다.$ sudo apt-get install libsqlite3-dev
다시 configure를 진행한다.
make가 완료되면 make test를 잊지 말라고 한다.
/usr/local# cd apache2.4/conf
/usr/local/apache2.4/conf# vi httpd.conf
AddType application/x-httpd-php .php .html`
모듈은 165줄쯤에서 확인할 수 있다.
💊 나는 configure 과정에서 자동으로 추가되어야하는 php모듈이 없었다. 직접 그냥 설정했다,, 오류인지 중간에 무엇을 빼먹었는지 잘 모르겠다
400라인 근처에 IfModule mime_module 부분이 있다. 아래에 AddType을 추가한다.
vi 편집기에서 :set number를 입력하면 라인 번호를 확인할 수 있다.
production 시스템용 설정 파일인 php.ini-production 파일을 /usr/local/lib/php.ini에 복사한다.
php configure 시에 옵션으로 php.ini의 위치를 지정하지 않으면 기본으로 /usr/local/lib/php.ini를 사용한다.
php.ini은 PHP설정 파일인데 php-8.1.0 디렉토리로 가면 php.ini-development와 php.ini-production 두개의 파일이 있다. development는 개발용, production은 프로덕션 시스템용 버전으로 개발용 같은 경우 더 많은 오류와 경고를 표시해주지만 보안상 문제가 생길 수 있으므로 개발 환경에서만 사용해야한다.
/usr/local# cdphp-8.1.5
/usr/local/php-8.1.0# cp php.ini-production /usr/local/lib/php.ini
아파치의 웹 콘텐츠(html, php 파일 등)는 htdocs 디렉토리에 위치한다.
$ cd /usr/local/apache2.4/htdocs
$ vi phpinfo.php
vi로 열은 phpinfo.php 편집기에 아래와 같이 입력한다.
<? php
phpinfo();
?>
아파치 실행
$ sudo /usr/local/apache2.4/bin/httpd -k start
$ ps -ef|grep httpd|grep -v grep
$ sudo netstat -anp|grep httpd
$ sudo curl http://127.0.0.1
ps -ef | grep httpd
명령어로 아파치가 실행중인지 확인할 수 있다.
브라우저에 127.0.0.1/phpinfo.php
또는 localhost/phpinfo.php
를 입력해 연동된 것을 확인한다!
나는 첫줄만 입력하고 바로 확인했다.
정말 길고 긴 여정 끝에 php까지 마쳤다 ㅠ
정신적으로 넘 힘들었따,,