"CF에서 PHP 확장모듈 사용하기"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 10개는 보이지 않습니다)
2번째 줄: 2번째 줄:
==개요==
==개요==
;CF에 PHP 앱 올려보기 3
;CF에 PHP 앱 올려보기 3
;CF에서 PHP 확장모듈 사용하기
* '''[[CF에 PHP 앱 올려보기 2]]'''에서 한단계 더 나아가서 PHP확장모듈을 사용해보자...
* '''[[CF에 PHP 앱 올려보기 2]]'''에서 한단계 더 나아가서 PHP확장모듈을 사용해보자...
* 필요한 PHP확장모듈은 [[.bp-config/options.json]] 파일을 만들어 기입해주면 된다.
* 필요한 PHP확장모듈은 [[.bp-config/options.json]] 파일을 만들어 기입해주면 된다.
:기본으로 사용가능한 모듈에 대해서는 '''[[CF PHP 모듈 확인]]''' 참조
* 여기서는 [[gd 라이브러리]] 모듈을 추가해서 사용해본다.
* 여기서는 [[gd 라이브러리]] 모듈을 추가해서 사용해본다.


==앱 작성==
<syntaxhighlight lang='console'>
<source lang='console'>
root@zetawiki:~/my-php-app3# tree -a
root@zetawiki:~# mkdir my-php-app3
.
root@zetawiki:~# mkdir my-php-app3/htdocs
├── .bp-config
root@zetawiki:~# mkdir my-php-app3/.bp-config
│   └── options.json
root@zetawiki:~# cd my-php-app3/
├── htdocs
root@zetawiki:~/my-php-app3# vi manifest.yml
│   └── index.php
</source>
└── manifest.yml
<source lang='yaml'>
---
applications:
- name: my-php-app3
  memory: 32M
</source>
<source lang='console'>
root@zetawiki:~/my-php-app3# vi .bp-config/options.json
</source>
<source lang='json'>
{
    "PHP_EXTENSIONS": ["gd"]
}
</source>
<source lang='console'>
root@zetawiki:~/my-php-app3# vi htdocs/index.php
</source>
<source lang='php'>
<?php
function image2html( $image ) {
ob_start();
imagepng( $image );
$data = ob_get_contents();
ob_end_clean();
return "<img src='data:image/png;base64,".base64_encode($data)."'>";
}
$black_box = imagecreate( 100, 200 );
imagecolorallocate( $black_box, 0, 0, 0 );
$red_box = imagecreate( 100, 200 );
imagecolorallocate( $red_box, 255, 0, 0 );


echo image2html( $black_box );
2 directories, 3 files
echo image2html( $red_box );
</syntaxhighlight>
</source>
 
==cf push==
<source lang='console'>
root@zetawiki:~/my-php-app3# cf push
Using manifest file /root/my-php-app3/manifest.yml
 
Creating app my-php-app3 in org cloudpack / space testuser03 as testuser03...
OK
 
Creating route my-php-app3.devpack.co.kr...
OK
 
Binding my-php-app3.devpack.co.kr to my-php-app3...
OK
 
Uploading my-php-app3...
Uploading app files from: /root/my-php-app3
Uploading 948B, 4 files
Done uploading
... (생략)
    state    since                    cpu    memory        disk          details
#0  running  2016-08-11 05:29:14 PM  0.0%  22.2M of 32M  124.7M of 1G
</source>
 
==확인==
* 브라우저에서 http://my-php-app3.devpack.co.kr 접속하여 확인
 
==같이 보기==
* [[CF에 PHP 앱 올려보기]]
* [[CF에 PHP 앱 올려보기 2]]
 
[[분류: Cloud Foundry]]
[[분류: devpack]]
[[분류: PHP]]
{{테스트|devpack}}
==개요==
;CF에 PHP 앱 올려보기 3
* '''[[CF에 PHP 앱 올려보기 2]]'''에서 한단계 더 나아가서 PHP확장모듈을 사용해보자...
* 필요한 PHP확장모듈은 [[.bp-config/options.json]] 파일을 만들어 기입해주면 된다.
* 여기서는 [[gd 라이브러리]] 모듈을 추가해서 사용해본다.


==앱 작성==
==앱 작성==
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:~# mkdir my-php-app3
root@zetawiki:~# mkdir my-php-app3
root@zetawiki:~# mkdir my-php-app3/htdocs
root@zetawiki:~# mkdir my-php-app3/htdocs
96번째 줄: 27번째 줄:
root@zetawiki:~# cd my-php-app3/
root@zetawiki:~# cd my-php-app3/
root@zetawiki:~/my-php-app3# vi manifest.yml
root@zetawiki:~/my-php-app3# vi manifest.yml
</source>
</syntaxhighlight>
<source lang='yaml'>
<syntaxhighlight lang='yaml'>
---
---
applications:
applications:
- name: my-php-app3
- name: my-php-app3
   memory: 32M
   memory: 32M
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:~/my-php-app3# vi .bp-config/options.json
root@zetawiki:~/my-php-app3# vi .bp-config/options.json
</source>
</syntaxhighlight>
<source lang='json'>
<syntaxhighlight lang='json'>
{
{
     "PHP_EXTENSIONS": ["gd"]
     "PHP_EXTENSIONS": ["gd"]
}
}
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:~/my-php-app3# vi htdocs/index.php
root@zetawiki:~/my-php-app3# vi htdocs/index.php
</source>
</syntaxhighlight>
<source lang='php'>
<syntaxhighlight lang='php'>
<?php
<?php
function image2html( $image ) {
function image2html($image)
ob_start();
{
imagepng( $image );
    ob_start();
$data = ob_get_contents();
    imagepng($image);
ob_end_clean();
    $data = ob_get_contents();
return "<img src='data:image/png;base64,".base64_encode($data)."'>";
    ob_end_clean();
    return "<img src='data:image/png;base64," . base64_encode($data) . "'>";
}
}
$black_box = imagecreate( 100, 200 );
imagecolorallocate( $black_box, 0, 0, 0 );
$red_box = imagecreate( 100, 200 );
imagecolorallocate( $red_box, 255, 0, 0 );


echo image2html( $black_box );
$black_box = imagecreate(100, 200);
echo image2html( $red_box );
imagecolorallocate($black_box, 0, 0, 0);
</source>
$red_box = imagecreate(100, 200);
imagecolorallocate($red_box, 255, 0, 0);
 
echo image2html($black_box);
echo image2html($red_box);
</syntaxhighlight>


==cf push==
==cf push==
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:~/my-php-app3# cf push
root@zetawiki:~/my-php-app3# cf push
Using manifest file /root/my-php-app3/manifest.yml
Using manifest file /root/my-php-app3/manifest.yml
153번째 줄: 86번째 줄:
     state    since                    cpu    memory        disk          details
     state    since                    cpu    memory        disk          details
#0  running  2016-08-11 05:29:14 PM  0.0%  22.2M of 32M  124.7M of 1G
#0  running  2016-08-11 05:29:14 PM  0.0%  22.2M of 32M  124.7M of 1G
</source>
</syntaxhighlight>


==확인==
==확인==
161번째 줄: 94번째 줄:
* [[CF에 PHP 앱 올려보기]]
* [[CF에 PHP 앱 올려보기]]
* [[CF에 PHP 앱 올려보기 2]]
* [[CF에 PHP 앱 올려보기 2]]
* [[CF PHP 확장모듈 확인]]
* [[PHP GD이미지 base64 img 태그로 변환]]


[[분류: Cloud Foundry]]
[[분류: Cloud Foundry]]

2022년 4월 2일 (토) 10:45 기준 최신판

1 개요[ | ]

CF에 PHP 앱 올려보기 3
CF에서 PHP 확장모듈 사용하기
기본으로 사용가능한 모듈에 대해서는 CF PHP 모듈 확인 참조
root@zetawiki:~/my-php-app3# tree -a
.
├── .bp-config
│   └── options.json
├── htdocs
│   └── index.php
└── manifest.yml

2 directories, 3 files

2 앱 작성[ | ]

root@zetawiki:~# mkdir my-php-app3
root@zetawiki:~# mkdir my-php-app3/htdocs
root@zetawiki:~# mkdir my-php-app3/.bp-config
root@zetawiki:~# cd my-php-app3/
root@zetawiki:~/my-php-app3# vi manifest.yml
---
applications:
- name: my-php-app3
  memory: 32M
root@zetawiki:~/my-php-app3# vi .bp-config/options.json
{
    "PHP_EXTENSIONS": ["gd"]
}
root@zetawiki:~/my-php-app3# vi htdocs/index.php
<?php
function image2html($image)
{
    ob_start();
    imagepng($image);
    $data = ob_get_contents();
    ob_end_clean();
    return "<img src='data:image/png;base64," . base64_encode($data) . "'>";
}

$black_box = imagecreate(100, 200);
imagecolorallocate($black_box, 0, 0, 0);
$red_box = imagecreate(100, 200);
imagecolorallocate($red_box, 255, 0, 0);

echo image2html($black_box);
echo image2html($red_box);

3 cf push[ | ]

root@zetawiki:~/my-php-app3# cf push
Using manifest file /root/my-php-app3/manifest.yml

Creating app my-php-app3 in org cloudpack / space testuser03 as testuser03...
OK

Creating route my-php-app3.devpack.co.kr...
OK

Binding my-php-app3.devpack.co.kr to my-php-app3...
OK

Uploading my-php-app3...
Uploading app files from: /root/my-php-app3
Uploading 948B, 4 files
Done uploading
... (생략)
     state     since                    cpu    memory         disk           details
#0   running   2016-08-11 05:29:14 PM   0.0%   22.2M of 32M   124.7M of 1G

4 확인[ | ]

5 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}