공부하기싫어
article thumbnail

11.13 15:21pm

nginx 컨테이너에서 php를 실행시키려면 php-fpm 을 따로 연동시켜줘야 하는것 같다.

https://hub.docker.com/_/php

 

php - Official Image | Docker Hub

Quick reference Supported tags and respective Dockerfile links Note: the description for this image is longer than the Hub length limit of 25000, so the "Supported tags" list has been trimmed to compensate. See docker/hub-beta-feedback#238 for more informa

hub.docker.com

그런데 php 컨테이너에 php:<version>-apache 를 보면

데비안의 아파치 httpd 가 설치된 버전이 있어서

이걸 사용해 봐야겠다.

 

php container

apache httpd 가 설치된 php 이미지 run

 

hostip:8080

apt-get upgrade 해주고 vim install 후

index.html 만들고 hello world 찍어서 확인한 모습

 

index.php

index.html 을 지우고 index.php 로 새 파일을 만들어서

php 코드를 찍어본 모습

잘됨

 

html 안에 php

처음에 실행했을때 잘 안되서

apache2.conf 파일하고 php.ini 파일을 수정해줬다

https://idchowto.com/html-%EB%AC%B8%EC%84%9C%EC%97%90%EC%84%9C-php-%EC%BD%94%EB%93%9C%EA%B0%80-%EC%8B%A4%ED%96%89%EC%9D%B4-%EC%95%88%EB%90%A0-%EB%95%8C/

 

html 문서에서 php 코드가 실행이 안될 때 - 스마일서브 IDCHOWTO닷컴

html 확장자 파일에서 php 코드가 실행이 안될 때가 있습니다. 이런 경우에는  phpinfo() 도 먹히질 않습니다. php 설치의 문제가 아니라 세팅의 문제일 수 있기 때문입니다. 몇가지…

idchowto.com

php echo 확인

php 코드로 echo 한것도 잘 나오는 모습

 

 

 

 

 

11.13 17:11pm

일단 php-apache 컨테이너의 경우 apache.conf 파일이나 php.ini 파일을 수정하기도 했기 때문에

현재 html 에서 php를 사용할 수 있게끔 환경 설정이 끝난 상황이다.

그래서 일단 이 현재 컨테이너를 docker 이미지로 뜨기 위해서 commit 명령어를 알아봤다.

docker commit

굿

 

docker cp

이후 docker cp 명령으로 인스턴스의 html 파일을 apache 환경으로 옮겼다.

폴더 덮어씌우기가 된 모습

 

connect

접속 확인하니 잘 된다.

 

 

 

11.13 6:31pm

 

https://doorbw.tistory.com/72

 

PHP #10_ 기본, MySQL접속해서 데이터 가져오기

안녕하세요. 이번에는 php를 이용해 MySQL에 접속하여 원하는 데이터를 가져와보도록 하겠습니다.1. MySQL 접속해서 데이터 가져오기 MySQL의 db에 있는 데이터를 잘 확인하고, 가져올 수 있도록 합니

doorbw.tistory.com

블로그 참고해서 연동해보려고 하는데

 

Fatal error

Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/index.html

이렇게 나와서 좀 찾아봤다

 

https://m.blog.naver.com/whj6648/221912391412

 

[php] MySQL 연동 오류 해결하기 Uncaught Error: Call to undefined function mysqli_connect()

php 7.44 apache 2.4 몇 시간 동안 날 괴롭히던 mysqli 연동 오류... Uncaught Error: Call to undefine...

blog.naver.com

 

https://stackoverflow.com/questions/13825108/undefined-function-mysql-connect

 

Undefined function mysql_connect()

I have ran aptitude install php5-mysql (and restarted MySQL/Apache 2), but I am still getting this error: Fatal error: Call to undefined function mysql_connect() in /home/validate.php on line 21

stackoverflow.com

ㅋㅋ 그래도 안된다

ㅈ같네

 

 

11.17 19:53pm

sample.html
page

한 3일은 이거 고치는데 쓰는거같다

왜 안되는지 모르겠음 ㅇㅅㅇ

mysqli 를 불러오지 못한다고 bool(false) 가 나오는데

 

 

php-config --extension-dir

extension dir 확인해줘서

 

extension_dir

경로 지정해주고

 

extension

관련있을만한 주석도 다 해제해 줬는데도

안됨 ㅡㅡ

 

왜 지랄이지

 

 

 

11.17 20:29pm

mysqli 모듈을 추가 안해서 생기는 문제같은데

모듈이 설치되지 않은 docker image 를 받았나보다

 

그래서 모듈을 추가하려고 하는데 php 모듈 추가 방식이 꽤나 까다롭다;;

 

https://www.onlab.kr/2014/10/15/php-extension-mysqli-%EC%84%A4%EC%B9%98/

 

PHP extension - mysqli 설치 - Onlab

PHP extension - mysqli 설치

www.onlab.kr

 

이분 블로그를 보면서 하려고 했는데

 

root@aae9fb9a6326:/usr/local/php/man/man1# ls
phar.1  phar.phar.1  php-config.1  php.1  phpdbg.1  phpize.1
root@aae9fb9a6326:/usr/local/php/man/man1# 
root@aae9fb9a6326:/usr/local/php/man/man1# cp phpize.1 phpize
root@aae9fb9a6326:/usr/local/php/man/man1# 
root@aae9fb9a6326:/usr/local/php/man/man1# ls
phar.1  phar.phar.1  php-config.1  php.1  phpdbg.1  phpize  phpize.1

일단 phpize 를 사용하기 위해 뒤에 1을 제거해서 복사해주고

 

root@aae9fb9a6326:/usr/local/lib/php/extensions/no-debug-non-zts-20170718# phpize
Cannot find config.m4. 
Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module

음..

top level source directory 에서 실행하라는것 같은데

그게 어딘지 모르겠다

 

https://zetawiki.com/wiki/Cannot_find_config.m4.

 

Cannot find config.m4. - 제타위키

다음 문자열 포함...

zetawiki.com

그래서 위 블로그 참고해서 찾아보려는데

ㅋㅋ

뭐 어쩌란 건지 모르겟다

 

그냥 다 갈아 엎고

ubuntu 도커 받아서 apache 혹은 nginx 깔고 php 깔아서 연동된거 확인 되면

image 로 새로 구워서 사용해야겠다

무슨 모듈 설치하는게 이렇게 안되나 ㅋㅋ