목록PHP (9)
번개애비의 라이프스톼일
ReactPHP와 같이 최근 php 진영에서도 node나 golang과 같이논블록킹 I/O를 지원할 수 있도록 하는 서드파티 익스텐션이 나오고 있다.그 중에서도 C++로 작성되어 php로 작성된 ReactPHP보다 성능이 좋다고 하는 swoole extension을 테스트 해봤다. 굉장히 단편적고 단순한 테스트임으로 참고만 하길... 일단 테스트서버는 구름 IDE에서 제공하는 가장 낮은 사양의 서버를 준비했다.0.5vCPU / 1GB Memory를 갖는 빈 컨테이너를 준비했고, 우분투 24.04, PHP 8.3.14에 openSwoole은 22.1.2버전을 사용했다.(참고로 Swoole과 Openswoole 은 엄연히 다르고 사용하는 방식도 다름!) cli로 구동되는 php openswoole의 경우,..
섹터를 나누는 기능을 개발하기 위해서는 섹터의 영역인 폴리곤과 좌표계를 비교하는 개발소요가 있었다. 예를 들면 이것 처럼.... 기본적으로 Tmap이나 Naver Map에서는 설정한 폴리곤영역에서 사전에 맵에 띄워둔 마커가 폴리곤에 포함되어있는지 확인하는 API가 존재했지만,이 과정은 언제까지나 매번 API를 통해 호출해야되는 부담이 있었고, 마커가 수천개가 되는 상황에서는 조금더 섹시한 방법을 찾기로 했다. 방법은 크게 두가지가 있었다. 1. 데이터베이스를 활용하는 방법 MySQL에 Polygon형태의 데이터를 저장해두고 MBRContains 연산자를 이용하여 SELECT를 쿼리하는 방법이다. 2. 데이터베이스를 활용하지 않는 방법 데이터베이스의 좌표계를 불러온뒤, 자료구조로 만들어두고 애플리케이션(P..
PHP8 이 새롭게 나오면서 JIT이라는 개념으로 기존 PHP 7 대비 성능이 크게 향상되었다고 주장했었으나, 사실, 큰 성능 향상을 기대하기 힘들었다. (슬그머니 올려두었던 나머지 발 마저도 떼야되나...) 프레임워크에 동일한 성능의 클라우드에 PHP 8.1 과 PHP 8 을 올려두고 여러번 테스트했지만, 사실 상 유의미한 성능변화폭이 없는것도 사실이다. (기대말라... 💩) 그리고, JIT을 Opcache와 활성화해두면 컴파일 캐싱을 위해 가끔 엄청나게 속도가 느려지는 현상이 발생되는 문제점도 존재함. (참고로 서버셋팅이 잘못될리 없음 ㅋㅋ) (PHP JIT이 드디어 나왔다고 환호했던 예전의 나를 반성하게 만들어버림....) 작년에 PHP 8.1 이 새롭게 나오면서 새로운 기능을 이것 저것 맛보고 있..
https://www.burndogfather.com/217 ESP32를 이용하여 RFID카드의 UID값 구하기 이번에 사용할 모듈은 RFID read/write가 가능한 MFRC522라는 모듈을 사용합니다. 카드는 모듈과 함께 동봉된 카드나 토큰을 사용할 수도 있고, 별도로 구매할 수 있습니다. MFRC522 모듈은 13.56MHz 방식의 NFC.. www.burndogfather.com 이전 포스팅을 참고하여 RFID의 UID값을 구하는 방법을 선행해야 합니다. 와이어링은 이전포스팅을 참고바랍니다. ESP32에 내장된 Wifi를 이용하여 RFID에 카드를 태그하면 즉시에 RFID의 UID를 특정서버로 JSON방식으로 전송하는 코드입니다. ESP32의 프로그램소스입니다. PHP서버쪽 소스입니다. 현재는..
IIS환경의 서버를 셋팅하다보면, 무심코 지나가는 권한 설정....리눅스 서버의 경우 chmod를 통해 쉽게 권한 설정이 가능하지만, 윈도우의 경우 권한 설정이 조금 더 복잡하다.IIS의 경우 기본적으로 C:\inetpub\wwwroot\ 디렉토리의 권한설정을 필수로 진행해야 한다.IUSR와 IIS_IUSR 권한을 읽기및실행 + 폴더내용보기 + 읽기 정도는 줘야 한다. (그이상은 보안상 추천 안함) 특히나 IIS + PHP 환경에서는 php 설정중 Upload_temp_dir 가 설정된 디렉토리에도wwwroot 디렉토리와 같은 권한을 줘야 한다. 파일업로드 실행시 TEMP형태로 서버측에 파일이 잠시 저장되었다가정상적인 자리로 MOVE_UPLOAD_FILE이 되기 때문에 Session 디렉토리나TEMP_U..
html 소스 코드 PHP를 이용한 파일업로드 기능의 구현 업로드할 파일 file_upload.php 소스 코드 압축파일 :
IIS에서 PHP를 작동되게 연동하는 방법~~~IIS 설치부터 시작~ 시작 - 제어판 클릭 응용프로그램을 삭제할때 사용하는 프로그램 및 기능을 클릭 왼쪽에 위치한 Windows 기능 사용/사용 안함 클릭 선택항목에서 빨간색을 제외하고 모두다 체크~~(로깅의 경우 별로 쓸일이 없고, 디렉토리검색의 경우 보안상이유로 사용안함~) 몇분 기달리면 설치가 끝난다.IIS는 제어판 - 관리도구에서 확인할 수 있음. PHP와 연동하기 위해서는 IIS php manager를 설치하면 됨.64비트용과 32비트용 2가지 버전으로 나오니 시스템에 맞춰서 설치하면 됨. 설치한뒤 IIS를 실행하면 PHP Manager가 생김. Register new php version을 선택함. php 실행파일을 불러옴 php-cgi를 불러오..
C#기반의 응용프로그램들은 대다수 accdb라는 파일에 데이터를 저장한다.이러한 데이터를 웹서비스로 변환하는 작업을 하면서 accdb를 php로 불러들여 디비화 하는 작업이 있어서 무자게 삽질한 결과다음과 같이 해결할 수 있었다. accdb는 Microsoft access 기반이기 때문에 천상 윈도우 서버에서 사용할 수 있다.때문에 IIS+PHP+MYSQL 기반으로 서버를 재구축해야 한다. 또한 외부 DB를 가져오는(?)형태로 쓰기 때문에 php.ini 설정에서는 odbc 익스텐션을 주석해지해야 한다. 주석을 해지하면 위와 같이 phpinfo(); 에서 odbc라는 항목이 생긴다. 그런뒤 윈도우 서버에서 아래의 파일을 설치한다.이 파일은 Microsoft Access 설치없이 *.accdb를 읽을 수 있..