목록PHP (8)
규도자 개발 블로그
내가 만든 PHPCronManager를 누가 써주다 심심해서 깃허브에 내 아이디인 jujumilk3를 써봤다. 다른 건 평소와 다를 바 없었는데 Wikis에 내 아이디가 하나 검색됐다. 난 위키를 작성한 적이 없을 뿐더러 심지어는 this-programmer라는 닉네임을 남겼겠지 jujumilk3이라는 내 아이디를 남길 일은 더더욱 없을텐데 하는 마음으로 들어가보니 웬걸 스페인의 망한듯 보이는 인터넷 보안회사의 the-fraud-explorer라는 프로젝트에 내 PHPCronManager를 사용하고 있었다. 그냥 너무 신기해서 벙쪘다. 무엇보다 궁금한 건 이걸 어떻게 알고 썼는가 하는 점이다. 끄흠... 아무튼 신기한 경험을 하여 기록을 남겨둔다. 만약 이런 이름모를 스페인 보안회사가 떠갔을 정도면 다른..
이곳에서 알려주는 wp cli를 설치하는 일련의 과정을 실행시켜주는 쉘스크립트이다. 플랫폼을 작업하는 데에 있어서 wp cli를 자주 사용하는데 써야될 때마다 여기저기에서 깔 때마다 귀찮아서 동료 개발자분이 만들어 주셨다. 스크립트 내부 내용은 이렇다. #!/bin/bash curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar php wp-cli.phar --info chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp wp --info 예외처리 등은 없이 그냥 심플한 형태이다. 설치를 원하는 서버에서 위 wpcli.sh파일을 옮겨놓고 . wpcli.sh혹은 s..
php 숫자 앞에 0 붙이는 함수 function makeformattedNumber(int $number, int $length = 3) : string { return sprintf("%0{$length}d", $number); } echo makeformattedNumber(30); //it returns 030 echo ' '; echo makeformattedNumber(7, 2); //it returns 07 echo ' '; echo makeformattedNumber(365, 6); //it returns 000365 echo ' '; 필요해서 만들어봤다.
PHP는 변수의 선언 여부를 체크하는 방법이 아주 많다. 내장 함수도 많을 뿐더러 ==나 ===까지. PHP가 코드뭉텅이라는 오명을 갖는 이유 중 하나이기도 한데 그만큼 true false를 검사하는 조건문을 뭘 써야할지 고민이 될 때가 있다. 그럴 때 참고하면 좋은 테이블이다. None은 변수가 선언되지 않은 상태이다. 위는 그림파일이고 $var = None Array() Null '' false 0 '0' ' ' 'text' true 1 '1' empty($var) O O O O O O O X X X X X is_null($var) O X O X X X X X X X X X isset($var) X O X O O O O O O O O O $var X X X X X X X O O O O O $var =..
html태그와 함께 안에 있는 content도 날려버리는 php함수 function strip_tags_content($text, $tags = '', $invert = FALSE) { preg_match_all('//si', trim($tags), $tags); $tags = array_unique($tags[1]); if(is_array($tags) AND count($tags) > 0) { if($invert == FALSE) { return preg_replace('@.*?@si', '', $text); } else { return preg_replace('@.*?@si', '', $text); } } elseif($invert == FALSE) { return preg_replace('@.*?@..
워드프레스에서 관리자 메뉴를 데이터로 조회하는 법 global $menu, $submenu; echo ""; echo ""; 해보면 된다. 해당 변수는 admin header에서 초기화되기 때문에 일반 페이지에서는 조회할 수 없고 wp-admin이라는 슬러그가 들어간 관리자페이지에서만 조회할 수 있다. 현재 메뉴별로 관리자 권한을 차등 적용하여 역할별로 접근할 수 있는 메뉴를 달리 하는 플러그인을 제작 중인데 아무리 생각해봐도 관리자 페이지에서 모든 메뉴들을 조회할 수 있음에도 불구하고 그런 변수가 담겨있지 않은 애가 없을 수가 없을 것 같았다. 해서 열심히 찾았다. 구글링을 해봐도 menu랑 submenu는 너무 포괄적인 단어였던 데다가 대부분은 플러그인 등을 조작해서 관리자 화면을 관리하는 방법이었던..
php의 단점을 발견하였다. 바로 쓰레드에 대한 부분이다. 큰 부하를 처리하는 php코드를 일정시간마다 실행해야해서 해당 php코드를 실행하고 있을 때 다른 사용자들에 대해서 서비스품질저하를 방지하기 위해 php로 구현하는 쓰레드와 관련하여 많은 것들을 찾아봤는데... php공식문서에서 단호하게 안 된다고 정의했다. 심지어 현재 서비스 중인 플랫폼은 전부 7.0.x대의 php에서 돌아가고 있다. 뭐 애초에 사용할 수도 없지만 말이다... 그래서 관련 자료를 더 찾아보니 애초에 php라는 언어 자체가 싱글스레드로 실행되는 것을 전제로 만든 언어라고 한다. 관련 자료를 같이 첨부하려 했는데 다시 찾진 못하겠다. 해서 멀티스레딩이 필요할 때 사용할 수 있기 pthread라는 것이 만들어져있긴 한데 역시나 아직..
PHP로 리눅스(linux) 크론(cronjob, crontab) 제어하기 2018-12-19CentOS에서는 정상적으로 작동하였으나 우분투에서는 에러를 일으켜 명령어가 좀 더 안정적인 것으로 변경됨. 자세한 변경내역 →깃허브반복된 작업을 알아서 실행해주는 crontab. 로그를 쌓을 때나, 자동 갱신 시스템을 만들 때 등 은근히 많이 쓰이게 된다. 하지만 crontab을 수정할 때마다 항상 불편했는데... 보통 iptables나 dbms처럼 명령어를 통해 cronjob을 등록하고 삭제하는 등의 행동은 수행할 수가 없었다. 항상 crontab -e라는 명령어를 통해 텍스트에디터형식으로 열고 편집하고 저장하고 하는 식으로 작업했지. 그게 불편해서 php에서 원하는 모든 cronjob행동을 제어할 수 있게 ..