[PHP] Distinction Null and Undefined

TL;TR <?php array_key_exists(‘value’, get_defined_vars()) ?> 대게 주의에선 PHP에선 Null과 Undefined를 구별하지 못한다고 알려져 있다.나 또한 Null과 Undefined를 구별할 수 있는 방법이 없다고 생각했지만, 성능상의 이슈를 제외하고, PHP에서도 Null과 Undefined를 구분 할 수 있다. PHP에서 변수의 유효성을 확인하기 위해 가장 많이 사용되는 함수인 isset은 해당변수가 ‘정의 되어 있지 않’거나 변수의 값이 ‘Null’인 경우에 false를 반환한다. 즉, …

[Linux] Power management

우분투 서버 18.04에서 노트북 모니터를 닫아도 잠금 모드로 전환 되지 않는 설정 $ vi /etc/systemd/logind.conf edit #HandleLidSwitch=suspend To HandleLidSwitch=ignore sudo service systemd-logind restart 만약 화면을 닫았을 경우 자동으로 잠기길 원한다면 HandleLidSwitch=lock으로 변경하면 된다.

[iptables] iptables를 이용한 국가별(특히 중국) IP ban 방법

IPTABLES 명령어를 이용한 국가 ip 벤 방법 여러대의 서버를 사용하면서 well know 포트가 하나라도 열려있으면 미친듯하게 접속 시도가 들어온다. (특히 중국에서 ㅂㄷㅂㄷ) 이를 iptables를 통해 국가별 ip를 차단하자 GITHUB LINK https://github.com/SilNex/SundryToolBox/blob/master/country-ip-ban.sh #!/bin/bash #China IP BAN using iptables apt-get update && apt-get install wget unzip wget http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip unzip GeoIPCountryCSV.zip DATA=./GeoIPCountryWhois.csv for IPRANGE in `egrep “CN” $DATA …

[WordPress] WP PHP extension requirements

cURL – 127 uses (requires libcurl) HTTP API (class WP_Http_curl) url_is_accessable_via_ssl() SimplePie (overridden with class WP_SimplePie_File) GoogleSpell (from TinyMCE package, is not used?) Date/Time – 367 uses DOM – 6 uses (requires libxml) iis7_rewrite_rule_exists() iis7_delete_rewrite_rule() iis7_add_rewrite_rule() saveDomDocument() POSIX Regex – 23 uses Filter – 2 uses class PHPMailer->ValidateAddress() (optional) FTP – 72 uses class ftp_base class ftp (pure and sockets versions) class WP_Filesystem_FTPext class WP_Filesystem_ftpsockets GD – 56 uses wp-admin\includes\image-edit.php wp-admin\includes\image.php wp-includes\media.php Hash – 6 uses wp-includes\pluggable.php multiple uses (optional …

[ssh|sftp] ssh root 접근 허용 및 제한

SSH & SFTP root 접근 허용 및 제한 TL; DR [ubuntu 16.04 기준] $ vi /etc/ssh/sshd_config PermitRootLogin prohibit-password >> PermitRootLogin yes $ sudo service ssh restart root의 password를 설정한 이후에도 ssh 접근이 안되거나, 오류: 인증 실패. 오류: 치명적 오류: 서버에 연결하지 못함 sftp를 통해 접속하려고 할 때 위와 같은 메시지가 나오면서 로그인이 안되는 경우에 대한 해결법이다. /etc/ssh/sshd_config …

[MySQL] Supervisor 계정 만들기

MySQL(MariaDB) DB 모든 권한 주기 TL; DR GRANT ALL PRIVILEGES ON *.* TO ‘{id}’@{host} IDENTIFIED BY ‘{pw}’ WITH GRANT OPTION; FLUSH PRIVILEGES; Ex) GRANT ALL PRIVILEGES ON *.* TO ‘silnex’@localhost IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;   계정만 생성 하고 싶을 때 CREATE USER ‘{id}’@{host} IDENTIFIED BY ‘{pw}’; 한 DB에만 권한을 주고 싶을 때 GRATN ALL PRIVILEGES …

[php redis] php Array Auto Serialize 설정

php Redis Serialize 설정 TL;DR $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);   일단 아래의 코드를 보자 <?php $redis = new Redis(); try { $redis->connect(‘127.0.0.1′,’6379’, 2.5, NULL, 150); $key = ‘myKey’; $value = array(‘v1’ => ‘Value1’, ‘v2’ => ‘Value2’); $ttl = 10; $redis->setex( $key, $ttl, $value ); $value = $redis->get($key); var_dump($value); } catch(Exception $e) { var_dump($e); } $redis->close(); ?> 위에 …

[Nginx|Apache] Reverse Proxy 설정

Nginx & Apache Reverse Proxy 설정 Nginx nginx conf 파일이나 sites-enabled/ 폴더 아래 conf 확장자로 아래와 같은 파일을 만든다. server { listen 80; server_name reverse.silnex.kr; location / { proxy_pass http://10.0.0.1:8080; } } 위 파일을 만들게 되면 reverse.silnex.kr 로 접속하게되면 내부망의 http://10.0.0.1:8080로 이어지게 된다.   Apache 2.4 아파치 conf파일에 아래와 같은 내용을 추하거나, sites-enabled/폴더에 .conf 확장자로 …