Programming/php2016. 10. 10. 17:58

그냥 막 보냈었구나...


<INPUT type=password name=pass size=8 maxlength=8>

<INPUT type=text name=title size=60 maxlength=35> 

[링크 : http://ezphp.net/lecture/lecture26.php]


<?

//데이터 베이스 연결하기

include "db_info.php";


$query = "insert into testboard values ('','$name','$email','$pass','$title','$comment',now(),'$REMOTE_ADDR',0)";

$result=mysql_query($query, $conn); 

[링크 : http://ezphp.net/lecture/lecture27.php]


헐.. 저런식의 문법으로 된거라면...

이건 무슨.. PHP3 시절인건가?!?! ㄷㄷㄷ

$_POST

$HTTP_POST_VARS [deprecated]


(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_POST -- $HTTP_POST_VARS [deprecated] — HTTP POST variables 

[링크 : http://php.net/manual/en/reserved.variables.post.php]

'Programming > php' 카테고리의 다른 글

php get / post 변수 그리고 global 변수  (0) 2016.10.11
php 디버그 메시지 출력하게 하기  (0) 2016.10.10
php hiphop  (0) 2016.07.14
php chunked encdoing  (0) 2015.02.02
PHP 웹 다국어 지원 트릭  (0) 2015.02.02
Posted by 구차니
Programming/php2016. 7. 14. 20:47

페이스 북에서 먼가 한다고 듣긴했었는데..

php 를 미리 컴파일 해서 더 빠른 서비스를 위한 녀석?

zend optimzer라던가 opcache야 

서비스 재시작하면 메모리에 있던거라 날아 가지만

얘네는 파일로 아예 저장해서 적용 하는 듯?


[링크 : http://hhvm.com/blog/2027/faster-and-cheaper-the-evolution-of-the-hhvm-jit]

[링크 : http://stackoverflow.com/questions/1408417/can-you-compile-php-code]

[링크 : https://en.m.wikipedia.org/wiki/HipHop_for_PHP]

'Programming > php' 카테고리의 다른 글

php 디버그 메시지 출력하게 하기  (0) 2016.10.10
php 구버전 post 변수.  (0) 2016.10.10
php chunked encdoing  (0) 2015.02.02
PHP 웹 다국어 지원 트릭  (0) 2015.02.02
php 콘솔 디버깅  (0) 2015.01.13
Posted by 구차니
Programming/php2015. 2. 2. 11:59


IE는 잘되는데 크롬은 안되서 이래저래 검색중




[링크 : http://en.wikipedia.org/wiki/Chunked_transfer_encoding]

[링크 : http://coffeenix.net/board_view.php?bd_code=1280]

[링크 : https://www.fir3net.com/Networking/Protocols/http-what-does-transfer-encoding-chunked-mean.html]

'Programming > php' 카테고리의 다른 글

php 구버전 post 변수.  (0) 2016.10.10
php hiphop  (0) 2016.07.14
PHP 웹 다국어 지원 트릭  (0) 2015.02.02
php 콘솔 디버깅  (0) 2015.01.13
php simpleXML saveXML 정렬하기 (well-formed XML)  (0) 2014.12.23
Posted by 구차니
Programming/php2015. 2. 2. 10:51

define으로 변수를 지정해서 include 하는건 지금사용하는 방법과 같지만

lang[] 이라는 어레이를 이용하니

이게 변수인지 문자열인지 조금은 더 잘 구분이 되니 쓸만해 보이는 방법




'Programming > php' 카테고리의 다른 글

php hiphop  (0) 2016.07.14
php chunked encdoing  (0) 2015.02.02
php 콘솔 디버깅  (0) 2015.01.13
php simpleXML saveXML 정렬하기 (well-formed XML)  (0) 2014.12.23
php simpleXML  (0) 2014.12.22
Posted by 구차니
Programming/php2015. 1. 13. 15:18

php 콘솔명령어를 이용하여


$ php file.php 


를 실행하면

결과를 뱉어내서 에러 라인을 확인할 수 있다.


우오옹!!

'Programming > php' 카테고리의 다른 글

php chunked encdoing  (0) 2015.02.02
PHP 웹 다국어 지원 트릭  (0) 2015.02.02
php simpleXML saveXML 정렬하기 (well-formed XML)  (0) 2014.12.23
php simpleXML  (0) 2014.12.22
xcache 1.3.2 for php 5.3.22 for ARM  (0) 2014.11.11
Posted by 구차니
Programming/php2014. 12. 23. 14:32

simplexml의 

SimpleXMLElement::asXML 을 이용해 xml로 저장을 하면

well-fored XML로 저장이 되지 않고

엔터 처리도 없이 주르르르륵 한줄로만 출력된다.


이걸 해결하려면.. dom_import_simplexml을 통해 

DOMElement로 변환하고 설정후 출력하면 된다고 한다.

(테스트 필요)


$dom = dom_import_simplexml($simpleXml)->ownerDocument;

$dom->formatOutput = true;

echo $dom->saveXML();


[링크 : http://php.net/manual/ro/function.dom-import-simplexml.php]

[링크 : http://php.net/manual/en/simplexmlelement.asxml.php]


[링크 : http://www.f15ijp.com/2010/12/simplexml-save-formated-output/]

[링크 : http://stackoverflow.com/questions/1191167/format-output-of-simplexml-asxml]



+2015.01.29

$xmlDoc = new DomDocument('1.0', 'utf-8');

$xmlDoc->formatOutput = true;

$xmlInfo = $xmlDoc -> saveXML();


깔끔하게 해결?


'Programming > php' 카테고리의 다른 글

PHP 웹 다국어 지원 트릭  (0) 2015.02.02
php 콘솔 디버깅  (0) 2015.01.13
php simpleXML  (0) 2014.12.22
xcache 1.3.2 for php 5.3.22 for ARM  (0) 2014.11.11
lighttpd + php 퍼미션 문제  (0) 2014.10.21
Posted by 구차니
Programming/php2014. 12. 22. 16:28

php에 xml을 파싱하기 위한 파서/API로

php 컴파일 시 --enable-simplexml 옵션을 주어야 사용이 가능한 라이브러리이다.

꽤 가볍고 DOM / SAX를 둘다 지원해서 php에서 어플리케이션과 통신하여 데이터를 주고 받는 용도로

많이들 사용되는 듯 하다.



[링크 : http://php.net/manual/en/book.simplexml.php]

[링크 : http://php.net/manual/en/simplexml.examples-basic.php] 영문

[링크 : http://php.net/manual/kr/simplexml.examples-basic.php] 국문

'Programming > php' 카테고리의 다른 글

php 콘솔 디버깅  (0) 2015.01.13
php simpleXML saveXML 정렬하기 (well-formed XML)  (0) 2014.12.23
xcache 1.3.2 for php 5.3.22 for ARM  (0) 2014.11.11
lighttpd + php 퍼미션 문제  (0) 2014.10.21
php.ini extension_dir  (0) 2014.10.20
Posted by 구차니
Programming/php2014. 11. 11. 08:18
암용으로 크로스컴파일 하려는데
이래저래 부딛히는 dog show!!

php 컴파일시 configure 파일에서 dlopen 으로  검색후
found=yes로 하여 강제로 dlopen(extension 사용 가능하도록) 수정해야 한다.

php 컴파일
$ rm config.cache
$ ./configure --host=arm-none-linux-gnueabi --disable-all --with-config-file-path=/etc --enable-simplexml --enable-cgi --enable-fpm 

if-else 그리고 fi를 주석처리 
$ vi configure
65281 line
flock_type=unknown
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
else

65323 line
if test "$cross_compiling" = yes; then :
  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
else


xcache 컴파일
$ CC=arm-none-linux-gnueabi-gcc ./configure  --host=arm-none-linux-gnueabi --enable-xcache --enable-xcache-optimizer
xcache의 환경설정

$ vi /etc/php.ini

# 주석처리 되어있으니 주석만 삭제하면 될 듯
cgi.fix_pathinfo=1

# 이상한(?) 경로이니 옮겨서 사용하려면 주석삭제 및 수정 필요
extension_dir = "/usr/lib"

# 가장 아래 추가하면 됨
extension=xcache.so
[xcache.admin]
xcache.admin.enable_auth = Off

[xcache]
xcache.shm_scheme =        "mmap"
xcache.size  =               1M
xcache.count =                 1
xcache.slots =                8K
xcache.ttl   =                 0
xcache.gc_interval =           0

xcache.var_size  =            1M
xcache.var_count =             1
xcache.var_slots =            8K
xcache.var_ttl   =             0
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300

xcache.test =                Off
xcache.readonly_protection = Off
xcache.mmap_path =    "/dev/zero"
xcache.coredump_directory =   ""

xcache.cacher =               On
xcache.stat   =              Off
xcache.optimizer =           Off

[xcache.coverager]
xcache.coverager =          Off
xcache.coveragedump_directory = "" 

$ vi /etc/lighttpd/lighttpd.conf 
cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                               ".html" => "/usr/bin/php",
#                              ".php" => "/bin/php-cgi",
                               ".cgi" => "" )

fastcgi.server = ( ".php" => ((
                        "bin-path" => "/bin/php-cgi",
                        "socket" => "/tmp/php.sock",
                        "max-procs" => 1,
                        "bin-environment" => (
                                "PHP_FCGI_CHILDREN" => "1",
                                "PHP_FCGI_MAX_REQUESTS" => "100"),
                        "bin-copy-environment" => (
                                "PAHT", "SHELL", "USER" ),
                        "broken-scriptfilename" => "enable"
                ))
)

lighttpd 에서 cgi.assign 부분에 php를 주석처리 하지 않으면
php-cgi 가 fpm을 통해 데몬으로 구동되어도 cgi가 먼저 처리 하면서 캐싱이 되지 않는다. 
(cgi가 fastcgi보다 위에 있어서 그럴지도?) 



ab 로 벤치마크 결과 50% 정도 향상.. 이려나?
+xcache enable
Time taken for tests:   570.448 seconds
Requests per second:    1.75 [#/sec] (mean)
Time per request:       570.448 [ms] (mean)
Time per request:       570.448 [ms] (mean, across all concurrent requests)
Transfer rate:          38.86 [Kbytes/sec] received

+xcache disable
Time taken for tests:   916.042 seconds
Requests per second:    1.09 [#/sec] (mean)
Time per request:       916.042 [ms] (mean)
Time per request:       916.042 [ms] (mean, across all concurrent requests)
Transfer rate:          24.20 [Kbytes/sec] received 




-----
--enable-fpm을 추가하지 않아도 되긴 되는 듯?

'Programming > php' 카테고리의 다른 글

php simpleXML saveXML 정렬하기 (well-formed XML)  (0) 2014.12.23
php simpleXML  (0) 2014.12.22
lighttpd + php 퍼미션 문제  (0) 2014.10.21
php.ini extension_dir  (0) 2014.10.20
php 5.3.22 / xcache 1.3.2  (0) 2014.10.15
Posted by 구차니
Programming/php2014. 10. 21. 15:01
원인불명으로.. 실행이 안되서 여전히 고민..
일단 php-cgi를 재컴파일 해서 바꿔치기 해서
php-cgi 자체의 소유권 때문인가 싶어서 테스트 해봤지만
php-cgi가 root:root 던 www:www던 둘다 상관없이 안되므로 패스..


srwxr-xr-x    1 www      www             0 Jan  1 09:00 php.sock-0 

lighttpd.log 에서는 아래와 같이 에러가 발생한다.
1970-01-01 09:00:25: (log.c.166) server started
1970-01-01 09:00:25: (mod_fastcgi.c.977) bind failed for: unix:/tmp/php.sock-0 Permission denied
1970-01-01 09:00:25: (mod_fastcgi.c.1397) [ERROR]: spawning fcgi failed.
1970-01-01 09:00:25: (server.c.964) Configuration of plugins failed. Going down.

일단.. 임시 방책으로
mkdir /tmp/www
chown www:www /tmp/www
으로 회피 -_- 

'Programming > php' 카테고리의 다른 글

php simpleXML  (0) 2014.12.22
xcache 1.3.2 for php 5.3.22 for ARM  (0) 2014.11.11
php.ini extension_dir  (0) 2014.10.20
php 5.3.22 / xcache 1.3.2  (0) 2014.10.15
php 5.5.17 opcache / arm  (0) 2014.10.14
Posted by 구차니
Programming/php2014. 10. 20. 11:03
configure를 다시 뒤져봐도 컴파일시 지정하지 못했던 부분인데 어디서 나오는건지..

phpinfo()에서 extension_dir을 보면
php 5.3.22 기준 아래의 경로를 찍어 주는데
/usr/local/lib/php/extensions/no-debug-non-zts-20090626/

lighttpd -m/usr/lib를 해주어도 위의 경로에 무조건! 넣어 주어야 extension이 작동한다
일단.. 경로가 괴랄하니..

php.ini 에다가 
extension_dir = "/usr/lib" 라고 해주면 깔끔(?)하게 끝!

extension_dir
In what directory PHP should look for dynamically loadable extensions. See also: enable_dl, and dl().
 
[링크 : http://php.net/manual/en/ini.core.php#ini.extension-dir]

'Programming > php' 카테고리의 다른 글

xcache 1.3.2 for php 5.3.22 for ARM  (0) 2014.11.11
lighttpd + php 퍼미션 문제  (0) 2014.10.21
php 5.3.22 / xcache 1.3.2  (0) 2014.10.15
php 5.5.17 opcache / arm  (0) 2014.10.14
php - extensions are not supported on this platform / arm  (0) 2014.10.14
Posted by 구차니