본문 바로가기

Programming Language/PHP

(38)
php memory limit 문제 해결 방법 원인 : php memory limit가 제한이 되어있어서 composer 설치할때 설치를 못함. 해결: php -r "echo ini_get('memory_limit').PHP_EOL;" 를 통해 현재 메모리 제한 확인 php —ini 를 통해 현재 사용중인 php 경로 확인 /usr/local/etc/php/7.4/conf.d 디렉토리로 이동해서 php-memory-limits.ini 파일에서 memory-limit를 -1로 변경 /usr/local/etc/php/7.4/php.ini 파일을 열어서 memory-limit를 -1로 변경 ref: https://stackoverflow.com/questions/49212475/composer-require-runs-out-of-memory-php-fat..
[PHP] 현재 서버 시간 가져오기 및 응용 (date, strtotime, time) PHP 함수 중 하나인 date 함수는 원하는 format에 따라 현재 PHP 서버에 시간 값을 가져옵니다. ※ 함수 형식 : date( format, timestamp = time() ) format 형식 설명 예시 Y 연도 2002 m 월 (한자리수 월인 경우, 앞에 0이 붙음) 09 or 12 d 일 (한자리수 일인 경우, 앞에 0이 붙음) 03 or 29 H 시 (0이 붙는 24시간 형식) 13 i 분 (0이 붙는 60분 형식) 59 s 초 (0이 붙는 60초 형식) 34 u 마이크로초 45122 w 요일을 숫자로 표현 0(일요일) ~ 6(토요일) ● 예제 아래는 기본적인 날짜, 시간, 일시를 가져오는 예제입니다. 포맷을 파라미터로 넣어 원하는 형식으로 가져옵니다. 아래는 조금 응용한 예제입니다...
Creating default object from empty value 에러 해결 PHP 위와 같이 포스트맨으로 작업중에 Creating default object from empty value 에러가 발생하였습니다. 저의 경우, 배열 키에 빈 객체가 발생하여 빈값으로 노출되어 warning으로 떴던거 같습니다. 예를 들어, $this->result->data->list = array(); 라고 배열을 선언했었습니다. 하지만, $this->result->data를 선언해주지 않고 바로 건너 뛰었기 때문에 경고가 발생한것으로 추측됩니다. 그래서 $this->result->data = array();로 수정하였더니 오류가 해결되었습니다. 다른 케이스도 있겠지만, 저같은 경우 위와 같이 해결이 되었습니다.
[PHP] array_slice () 함수 (배열 자르기) ● array_slice() : 배열을 자르는 함수 입니다. array_slice(array_name, starting_position, slice_length, preserve_keys) 매개 변수는 총 4개 입니다. array_name : 배열 이름 starting_position : 배열에서 슬라이스의 시작 위치를 지정합니다. slice_length : 슬라이스 길이 preserve_keys : 함수가 배열의 키를 보존할지 여부를 TRUE 또는 FALSE로 지정하며,기본값은 FALSE입니다. array ([0] => blue) array ([0] => white) array ([0] => black [1]=> red [2] => white [3] => blue) 인덱스 0 : black 인덱스 1 ..
[PHP] ini_set() 함수 php의 설정하기 위한 함수이며, php의 설정 확인은 웹페이지의 경우 sample.php파일에서는 를 작성하여 브라우저를 통해 확인이 가능합니다. 커맨드라인에서 확인하려면 php -i를 실행하면 현재 php의 설정 내용을 확인 할 수 있습니다. ● ini_set() : 호스팅업체에서 제공하는 서비스이용시 or 일시적 or 동적으로 php설정을 변경하기 위해서 사용합니다. string ini_set ( string $varname , string $newvalue ) $varname : 설정 변수의 이름 $newvalue : 설정을 변경할 새로운 값 ini_set("display_errors", 1); 위 예제 코드를 사용하면 error의 표시 여부를 조절할 수 있습니다. ini_set() 함수는 해당 ..
[PHP] addslashes (), stripslashes () 와 get_magic_quotes_gpc ()함수 DB 작업을 하다보면 쿼리를 작성하게 됩니다. 이때 DB 시스템은 큰따옴표(") , 작은따옴표(') , 백슬래시(\) , NULL byte를 문자열을 구분하는 등의 기준으로 사용됩니다. 하지만, 하나의 문자열 안에 따옴표가 들어가면 오류가 발생하는 경우가 흔히 있습니다. 이러한 예상치 못한 오류는 취약점으로 이어지기도 하기에, DB관리에 주의 해야 합니다. ● addslashes () : 데이터베이스의 질의에서 처리할 필요가 있는 문자 앞에 백슬래시를 붙인 문자열을 반환합니다. 예를 들면, 'It's a pen' 이렇게 쿼리를 전송하면 It뒤에 '(작은따옴표)로 인해 오류가 발생합니다. 그래서 따옴표들을 기준을 가지고 다르게 표현해주어야 하는데 이것을 흔히 이스케이프 시킨다고 합니다. 'It\'s a p..
[PHP] 첫 문자를 대문자로 치환하는 함수 - unfirst ● unfirst : 문자열 중 첫 문자자를 대문자로 치환하는 함수이다. $string = "my habby is game"; $string = unfirst($string); echo $string; exit; My habby is game $string 변수에 문자열을 저장해주고, unfirst 함수를 호출하여 대문자로 치환할 변수를 넣어줍니다. 그리고 출력하면 첫 문자가 대문자로 치환되는 것을 확인할 수 있습니다.
[PHP] 폼 입력 처리의 기본 ( GET, POST로 송수신하기 ) 폼에는 라디오 버튼 or 텍스트 등 많은 형태가 존재합니다. 간단한 예를 통해 자세하게 설명하겠습니다. ◎ GET 위처럼 HTML 코드를 작성해줍니다. 태그를 사용해서 method에 get을 입력해주고, 태그 안에 있는 data를 어디로 보내서 확인할지 action에 파일을 입력해줍니다. 태그 안에는 태그로 작성해주어야 하며, submit은 해당 data를 모두 최종적으로 action파일에 넘겨줍니다. 앞단에서 유저가 Data를 입력 후, 제출하여 cal.php로 data가 전송되었습니다. get으로 넘겼기 때문에, $_GET라는 전역변수를 사용해서 앞단의 name값을 그 안에 적어줍니다. 변수에 모두 값을 옮기고 계산한다음 echo를 통해 출력해줍니다. 브라우저에서 단가와 개수를 입력하여 계산하기버튼을..