반응형

서버에서 제공하고 있는 phpMyAdmin 이 제대로 동작하지 않아, 최신버전으로 업데이트 해주었습니다.

업데이트 후 접속해보니 blowfish_secret에 32 bytes로 작성을 해주어야 하는데, 그렇지 않다 (not correct) 경고가 나오고 있어 수정하였습니다.

 

phpMyAdmin이 설치된 경로에 들어가 config.inc.php를 열어 $cfg['blowfish_secret'] 를 아래 사이트에서 생성하여 붙여 넣으면 경고가 깔끔히 사라집니다.

 

https://www.motorsportdiesel.com/tools/blowfish-salt/pma/

 

phpMyAdmin Blowfish Secret Generator

This tool generates a secure 32 character Blowfish Secret for your phpMyAdmin config file located at / usr / share / phpmyadmin / config.inc.php (on Linux). here . -->

www.motorsportdiesel.com

 

반응형
반응형

mcrypt_* 이 PHP 7.1 에서 deprecated 이 되었고, PHP7.2 에서 mcrypt_* 이 삭제되어 사용이 불가능 해졌다.

대신 openssl encrypt 를 사용하면 된다. 


private static $key = "key_pass";
private static $cipher = "aes-256-cbc";

public static function encrypt($buffer){
$ivlen = openssl_cipher_iv_length(self::$cipher);
$iv = openssl_random_pseudo_bytes($ivlen);
return openssl_encrypt($buffer, self::$cipher, self::$key, $options=0, $iv, $tag);
}

public static function decrypt($buffer){
$ivlen = openssl_cipher_iv_length(self::$cipher);
$iv = openssl_random_pseudo_bytes($ivlen);
return openssl_decrypt($buffer, self::$cipher, self::$key, $options=0, $iv, $tag);
}


반응형
반응형

VC9 : IIS 용

[Thread Safe 와 Non Thread Safe]

 

우선 윈도우용 PHP는 항상 Thread Safe 버전으로 나왔었습니다.
이유는 윈도우가 멀티쓰레드 방식인데 PHP 는 멀티프로세스 방식으로 개발 되었기 때문이죠.
참고로 리눅스나 유닉스는 원래 멀티프로세스 방식이었기에 문제가 되지 않았습니다.

PHP를 IIS와 연동하기 위해 CGI 또는 ISAPI 방식으로 연동을 합니다.
그런데 PHP와 관련된 모듈들이 대부분 멀티프로세스 방식으로 개발 되었기 때문에
멀티쓰레드 방식으로 개발된 ISAPI 로 연동하였을 경우 서버가 다운되는 현상이 나타났습니다.

그래서 안정적인 방법으로 CGI 방식을 사용하긴 하지만 이 것 역시 퍼포먼스 측면에서 너무 느리다는게 문제가 되었죠.
이 퍼포먼스 문제를 개선한 것이 Non Thread Safe 버전이라고 생각하시면 되겠습니다…^^

그럼 결론적으로 아래와 같은 조합이라 생각할 수 있겠죠? ^^a

 

Windows + IIS(ISAPI) : VC9 Thread Safe 버전
Windows + IIS(CGI or FastCGI) : VC9 Non Thread Safe 버전
Windows + Apache(MPM worker) : VC6 Thread Safe 버전
Windows + Apache(MPM prefork) : VC6 Non Thread Safe 버전

 

출처 : http://auctionpro.co.kr/?p=773

반응형
반응형

Just discovered how super simple it was to add some gz compression when for example providing JSON data from PHP.

All you need is regular output buffering with the ob_gzhandler as output callback.

// Fetch some data
$data = get_data();

// Turn on output buffering with the gzhandler
ob_start('ob_gzhandler');

// Output as normal
echo json_encode($data);

The cool thing is that it actually looks at what the browser accepts before doing anything.

Before ob_gzhandler() actually sends compressed data, it determines what type of content encoding the browser will accept (“gzip”, “deflate” or none at all) and will return its output accordingly. All browsers are supported since it’s up to the browser to send the correct header saying that it accepts compressed web pages.

Tried adding it for a text field with timezone auto-completing for example, and without this handler:

Content-Length    5517
Content-Type      application/json

With this handler:

Content-Encoding  gzip
Vary              Accept-Encoding
Content-Length    1775
Content-Type      application/json

Do like! 😆

반응형
반응형

$functionName() or call_user_func($functionName)

반응형
반응형

 

preg_match_all('/(\w+)=([^&]+)/', $_SERVER["QUERY_STRING"], $pairs);
  $_GET = array_combine($pairs[1], $pairs[2]);
반응형
반응형

Could be that although you have 755/777 permissions, SELinux is blocking httpd from writing/creating dirs.

Try:

chcon -R -t httpd_sys_content_t /path/to/www
chcon -R -t httpd_sys_content_rw_t /path/to/www/dir/for/rw

Further info: http://wiki.centos.org/TipsAndTricks/SelinuxBooleans

반응형
반응형

SSH에서 root 으로 접속후 아래 명령을 입력.


setsebool -P httpd_can_sendmail=1


반응형

+ Recent posts