PHP) glob 함수가 빈 배열을 반환 하는 경우? PHP에서 폴더 경로를 검색하려할때 glob 함수를 쓸 수 있습니다. 예를 들어, 아래와 같이 사용시 $files = glob("path/to/file/*"); //['path/to/file/1.txt','path/to/file/2.txt','path/to/file/3.txt'] path to file 1.txt 2.txt 3.txt 위와 같은 문서 경로가 있을때 아래 내용을 배열로 반환합니다. path/to/file/1.txt path/to/file/2.txt path/to/file/3.txt 그런데 [ ] { } 같은 대괄호,중괄호 기호가 포함되어있다면 검색이 안되고 빈 배열이 반환되는 경우가 있습니다. $files = glob("path/to/[file]/*"); // [] [ ] { } 를 이스캐..
PHP8 JIT 업데이트후 차이 예상은? PHP8이 2021년쯤 나올 예정입니다. JIT 컴파일러를 내장할것으로 발표되어 많은 PHP 개발자가 기대를 하고있습니다. 지금 PHP7의 속도도 충분히 올라와서 실제 서비스를 처리하는데 큰 문제없습니다. PHP에 JIT(Just In Time)이 달리면 얼마나 빨라질까요? JIT(Just In Time)이 필요한 이유 기존의 PHP에는 String을 불러와서 스크립트를 해석하고 실행했습니다. 당연히 실행마다 해석하니 실행에 시간이 더 걸렸죠.. 그래서 실행을 한번하면 임시 저장하여 다시 실행할때 속도를 높이는 opcache같은 플러그인이 있었습니다. 다만, 호환문제로 오류가 나는 경우도 있었습니다. JIT은 String을 재해석하는게 아닌 컴퓨터가 더 빠르게 실행할수있는 Byte코드로 변환해두어 실행하..
썸네일 이미지
PHP) 단축 URL 서비스 구축하기 준비물 웹서버 (Apache, NginX 등) PHP MySql(MariaDB) 이 글에서는 Apache 웹서버로 만들것입니다. 간단하게 구조 설명 : 단축 URL 단축 url은 이미 있는 url과 그에 해당하는 key를 만들고, key로 접근 시 url으로 리다이렉트 하는 서비스입니다. 쉽게 http://example.com/mykey 접속 시, 서버에서는 mykey와 매칭 되는 url을 찾습니다. (DB에서 검색) key url mykey https://hi098123.tistory.com/ 따라서 https://hi098123.tistory.com/으로 연결되게 만들 수 있습니다. 아주 간단하게 만들 수 있는 서비스이며, 소스가 공개되어 있는 경우도 많습니다. 이 글에서는 MIT라이선스로 누구나 가..
PHP) cURL Async (PHP5+) PHP5이상에서는 curl_multi_init 함수를 이용 가능하다. curl_multi_init 함수를 이용하여 비동기 처리를 해보려 한다. 아래와 같이 코드를 작성하면 url변수에 담긴 주소들에 비동기 방식으로 접근 가능하다.
PHP) 어제 날짜 구하기 인터넷에 둘러보니 PHP로 날짜를 구하는데 조금 느리게 구하는것 같아 빠른코드로 적어본다. 더 빠른 코드는 date('Y-m-d', $_SERVER['REQUEST_TIME']-86400); 인터넷에 돌아다니는 코드는 date('Y-m-d', strtotime('-1 day')); 1000번 실행시 속도 차이이다. 0.0020010471343994초 걸림 0.004810094833374초 걸림 0.0028090476989746차이만큼 더 빠름 약 2배넘게 빠르다. PHP사용시 기본적으로 $_SERVER['REQUEST_TIME'] 서버응답 Timestamp를 사용하는데 (단위는 초) 1일 = 86400초를 빼면 어제 날짜를 구할수 있다.
썸네일 이미지
PHP) Windows GUI 프로그램(*.exe) 실행하기 오늘 안 내용인데 Apache 또는 Nginx 등의 서버가 service.msc(서비스 관리자)에 등록되어있으면 Windows의 보안정책상 GUI로 실행이 안된다. Apache2.4 서버를 서비스에서 사용안함으로 바꾸고 콘솔 앱으로 실행하고 php에서 hello.exe를 실행하면 그냥 실행한것과 동일하게 GUI로 실행이 된다.
php) echo 보다 빠른 글 출력 echo 보다 빠른 글 출력?? echo 보다 빠른게 이미 저장된 파일이다. 서버의 연산과정이 제일 작다. 예시 코드 위 코드는 로그인이 안되었을때 로그인 폼을 보여주는 코드이다. if 문을 저렇게 사용도 가능하고 echo로 아래처럼 처리하는것보다 훨씬 속도가 빨라진다. echo ' '; 이것도 php 쓰면서 습관을 들여야될 부분이다. 좋은 습관을 미리미리 들여놓자고요~~
php) include vs include_once 먼저 이 둘의 속도부터 비교하면 대략 10배 이상 차이난다. include 가 include_once 보다 빠르다. include_once 는 동작과정중 이미 불러왔나를 체크하는 과정때문에 느려지는걸로 안다. 속도상 include도 많이 안쓰는게 좋다. 정말 필요한 경우에만 사용하도록 하는게 좋다. 예) 라이브러리를 로딩 , 자주 바뀌는 함수 등이 많은 경우에 +) include 와 require 의 차이 require 은 include 에 로딩실패시 die(); 가 추가되어 있다고 보면된다. require은 로딩실패시 이후 코드가 실행 되지 않는다.