Windows server에서 apm을 설치하여 운영하다가, 웹으로 접속시 네트워크로 연결해둔 NAS에 파일쓰기가 안되는경우가 있다. cmd에서 php파일을 직접 호출한 경우에는 문제가 없이 네트워크 드라이브에 파일이 생성되기에 머리가 아프다. 웹 검색을 해보면 윈서버는 리눅스처럼 권한을 주는 부분이 없다고 한다. 다양한 해결방법중 아래 2가지를 적용하여 해결했다. 1. 서비스에 돌아가고 있는 아파치 로그온 속성이 있는데, 관리자 계정을 입력해준다. 2. 그래도 문제가 해결되지 않는다면, 네트워크 드라이브를 연결할때 "다른 자격증명을 사용하여 연결" 옵션을 체크하여 관리자 권한을 넣어줘야 한다. 다음에도 비슷한 문제가 발생한다면 이 두가지를 해보고, 그래도 안되면 다른 방법을 찾아야겠다.
DB에서 초성 조회 관련 검색을 하면 가장 좋은 방법은 초성을 분리하여 따로 작성해두고 그 테이블 또는 필드만 검색을 하는게 가장 좋다고 한다. 레코드를 생성할때 부터 초성을 분리하여 생성해두는게... 당장 그럴수 없기에 강제로 조회하는 방법 중 가장 빠르게 떠오르는 방법은 아래 2가지 이다.. 1. 검색해야하는 테이블에서 해당 필드의 모든 값을 가져와서 초성만 분리하여 비교하거나, 2. 각초성을 포함한 범위의 글자 사이인지를 조회한다. 등등... 이중 2번 방법을 사용한다면 아래 조건을 신경쓰면 된다. 1. if문 또는 switch 등르로 각 초성일때를 판단하여 분기한다. 2. 만약 'ㄱ'이라면 찾고자 하는 위치가 '가' 부터 '깋' 까지의 글자인지 조회하는 쿼리를 추가한다. 3. 쌍자음의 경우 단음에..
PHP에서 넘겨받은 값이 한글 초성으로만 구성되어 있는지 확인 하는 방법. utf-8로 해야하며 euc-kr는 잘안됨. 주의 필요 1. 정규표현식 활용 preg_match('/^[ㄱ-ㅎ]+/', $text); 에서 리턴값을 확인하면 한글 초성으로만 구성되어 있는지 확인할수 있음. 공백을 포함하고 싶다면 공백만 표현식에 추가해두면 됨. 2. 글자의 코드값을 활용하는 방법 검색중에 발견한 주소로 utf-8상태의 글자를 코드값으로 분리하는 코드와 그 분리된 값을 비교하여 초성인지를 분별하는 방식. 정규식보다는 정확하지 않을까 하는 생각이 듬. UTF-8 한글 초성 추출 (PHP) - 제타위키 (zetawiki.com) UTF-8 한글 초성 추출 (PHP) - 제타위키 다음 문자열 포함... zetawiki.com
특정값을 포함하는 레코드의 수를 확인할때 사용하는 소스는 아래와 같음. $result_sub = mysql_query("SELECT count(*) FROM table_name WHERE findid='findvalue' ........ $row_sub = mysql_fetch_array($result_sub); $row_sub[0]의 값이 0인지 1인지 더 큰수인지를 확인하면 count가 끝나는 것인데 적용되지 않는다. 가장먼저 확인해야 하는 부분이 쿼리상에 오타가 있는지 확인해야한다. 작은따옴표와 큰따옴표의 수가 맞지 않는다던지 테이블이름에 오타가 있다던지 등등 그럼에도 문제가 발견되지 않는다면 php 파일의 언어셋을 확인해야 한다. 서버는 utf8인데 문서가 euc-kr이라면 언어셋이 맞지않아 DB..
기존에 작성했던 resource.php에서는 토큰에 대한 인증값 리턴이 성공과 실패 둘뿐임. 성공하면 id를 포함하여 리턴하도록 수정함. $token = $server->getAccessTokenData(OAuth2\Request::createFromGlobals()); //토큰의 정보를 가져옴 echo json_encode(array('success' => true, 'message' => 'You accessed my APIs!', 'userid' => $token['user_id'])); //리턴할때 토큰의 정보를 넣어서 전송
막상 쓰려고 하면 생각이 나지 않은.....
bshaffer v1.11.1 로 테스트 중 pdo(=mysql)로 사용자 조회를 하면 실패한다. pod.php 파일의 checkPassword()에서 사용자가 입력한 값과 DB에서 조회한 값을 비교하는데, 함수에서는 암호화를 하고 테스트중인 페이지에서는 그냥 넘겨서 그런듯 하다. 추후 확장성을 위하여 리턴을 바로 하지 않고 두번 비교하도록 해서 해결함. 아래는 그 결과. $b_ch = $user['password'] == $this->hashPassword($password); if( $b_ch == true){// 기존처럼 비교하여 같다면 return $b_ch; //true 리턴 }else{ //같지 않다면 return $user['password'] == $password;//암호화 하지 않은 값..
서버를 1도 모르는데 기존 서버에 OAuth2.0 서버를 추가하면서 남기는 글 1. composer를 이용하여 서버에 OAuth2.0 설치 ( 쉘명령 : composer.phar require bshaffer/oauth2-server-php "^1.10" ) composer는 하위단의 파일의 쉽게 포함하여 사용할수 있도록 해주는 거라고 함. 2. https://bshaffer.github.io/oauth2-server-php-docs/cookbook/ 내용을 전적으로 따라함. 2-1 관련 DB를 모두 추가함. 2-2 기본값이 mysql인것인지 아니면 소스 내부에서 서버에 설치된 DB를 탐지하여 동작하는지는 모르지만, mysql에 추가해둔것을 잘 찾음. 3. cookbook 내용에 따라 server.php..
- Total
- Today
- Yesterday
- php
- 하트레이크
- 크레인
- 31088
- 아이스크림
- 911
- 크롤러
- 운반트럭
- oauth2.0
- 스챔
- 31073
- 페라리
- Lego
- 테크닉
- 75893
- 42098
- MySQL
- DB
- 포르쉐
- 70804
- 스피드챔피언
- 42009
- Windows
- putty
- 레고
- 8109
- 스마트싱스
- 42064
- 42096
- 초성검색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |