일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 윈도우10
- nginx
- 알리익스프레스
- PHP-FPM
- 스톤에이지
- Apache
- jQuery
- php
- 티스토리
- 리눅스
- mysql
- iptime
- 시놀로지
- 소비전력
- 알뜰폰
- OpenWrt
- SKT
- KB증권
- 보르비스초월
- 자바스크립트
- proxmox
- KB국민카드
- 복현오거리
- 가상서버호스팅
- 램가스초월
- 킹북이초월
- Rocky
- 아파치
- centos
- Linux
- Today
- Total
목록LAMP (102)
맛집 여행 캠핑 일상 생활
테스트 환경은 오라클 클라우드 VM.Standard.A1.Flex CPU 는 Ampere® Altra™ 인데 ARM 서버입니다.4코어 24GB 환경에서 테스트했습니다.OS는 Rocky Linux 9.4벤치마크 테스트 소스코드는 아래에서 다운로드 받았습니다.# git clone https://github.com/rusoft/php-simple-benchmark-script.git# wget https://github.com/rusoft/php-simple-benchmark-script/archive/refs/heads/master.zipPHP Multiple PHP-FPM 으로 설치된 각 버전별 디렉토리에 복사해서 테스트하였습니다. # PHP v7.4-------------------------------..
CentOS 및 Rocky 리눅스 둘다 같은 현상입니다.디폴트 php 버전은 8.0.30 이네요~vi /etc/php-fpm.d/www.conf;security.limit_extensions = .php .php3 .php4 .php5 .php7security.limit_extensions = .php .php3 .php4 .php5 .php7 .htm .html윗 부분을 찾아서 추가해줍니다.# systemctl restart php-fpm그리고 VirtualHost 설정에서 SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost" 해당 디렉토리 위치에 맞게 수정해서 추가합니다.아니면 /e..
서버가 몇 년만인지 모르겠지만 아래와 같이 아파치 재시작이 안되는 현상이 있네요~ apachectl configtest 로는 아무런 이상도 없는데 재시작이 되지를 않아서 journalctl -xe 로 로그를 확인한 결과입니다. [root@example conf.d]# journalctl -xe -- The result is failed. Jul 17 08:53:49 example.com systemd[1]: Unit httpd.service entered failed state. Jul 17 08:53:49 example.com systemd[1]: httpd.service failed. Jul 17 08:53:49 example.com polkitd[26529]: Unregistered Authenti..
이번에는 오라클 클라우드 VM에 CentOS 8 Stream 버전에서 아파치 + PHP-FPM 여러버전 설치하는 방법입니다. dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm dnf -y install httpd nginx mod_ssl dnf -y install php php-fpm dnf -y module reset php dnf -y module enable php:remi-7.3 dnf -y update 디폴트 PHP 버전은 7.3으로 설정하겠습니다. ( CentOS 8..
최근에 오라클 클라우드 VM에 PHP 여러버전을 설치해보니 예전에 먹히는게 안먹히더군요~ 그래서 다시 정리해보았습니다. 테스트 환경은 CentOS 7.9 버전입니다. yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum -y install yum-utils yum -y install mod_ruid2 yum -y install php php-bcmath php-cli php-common php-fpm php-gd php-json php-mbstring php-mysqlnd ..
서버를 하나 다시 설정하려고 보니 아래와 같은 에러가 나는군요~ 환경설정 파일은 백업 받았는데 모듈을 설치 안한 것 같습니다. [root@localhost conf.d]# apachectl configtest AH00526: Syntax error on line 18 of /etc/httpd/conf.d/ssl.conf: Invalid command 'SSLPassPhraseDialog', perhaps misspelled or defined by a module not included in the server configuration # yum -y install mod_ssl
PHP 5.4 버전에서 empty 함수로 인한 에러가 발생한다면 아래 처럼 empty 함수를 구현해주는 방법이 있습니다. empty 함수를 is_empty 로 치환 하면 됩니다. function is_empty( $str ) { if($str == "") { return true; } else if($str == 0) { return true; } else if($str == "0") { return true; } else if($str == NULL) { return true; } else if($str == false) { return true; } else if(is_array($str) && count($str)==0) { return true; } else { return false; } } 위..
같은 이름의 파일명으로 다른 이미지를 업로드 했는데 이전 이미지로 보여지는 경우가 많습니다. 브라우저의 캐시 기능 때문입니다. 다른 파일명으로 저장을 하면 되겠지만 프로그래밍을 다시 하기 귀찮은 경우 간단하게 파일의 수정시간을 체크해서 뒤에다 숫자로 스트링을 붙여주면 됩니다.
[CentOS] VNSTAT PHP FrontEnd 설치 방법 yum install vnstat 이 설치된 상태에서 vnstat php frontend 를 설치하면 웹브라우저에서 네트워크 트래픽 사용량을 볼 수가 있습니다.git clone https://github.com/bjd/vnstat-php-frontend.gitmkdir -p /var/www/vnstatmv ./vnstat-php-frontend/* /var/www/vnstat/vi /var/www/vnstat/config.php //$language = 'nl'; $language = 'en'; //$iface_list = array('eth0', 'sixxs'); $iface_list = array('enp2s0'); //$iface_tit..
[리눅스] 아파치 에러 AH00035 아파치 설치 후 아래와 같은 메시지가 뜨면 퍼미션 오류인데 SELINUX 설정을 바꾸면 해결이 됩니다.[Thu Nov 22 11:14:18.334138 2018] [core:error] [pid 12090] (13)Permission denied: [client 192.168.1.4:57003] AH00035: access to /index.php denied (filesystem path '/home/homepage/www/index.php') because search permissions are missing on a component of the path # vi /etc/selinux/config#SELINUX=enforcingSELINUX=disabled ..
[아파치] AH00558 httpd ServerName 아파치에서 아래와 같은 메시지가 나오면 httpd.conf 파일에 ServerName 이 누락된 경우입니다.[root@vps conf.d]# apachectl configtestAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this messageSyntax OK ServerName localhost이렇게라도 넣은 다음에 재시작 해보세요~
[PHP] 날짜형식 정규식 체크 php 에서 날짜를 받아서 mysql 에 넣을때 잘못된 데이트형식으로 입력하면 '0000-00-00' 으로 입력됩니다.날짜를 체크하는 함수를 한번 만들어 봤습니다.function date_check($str) { $str = str_replace('.', '', $str); $str = str_replace('-', '', $str); $YY = substr(date('Y'),0,2); if(strlen($str)==6) { $str = $YY.$str; } if ( preg_match('/^(\d{4})-?(\d{2})-?(\d{2})$/',$str,$match) && checkdate($match[2],$match[3],$match[1]) ) { return true;..
[리눅스] 아파치 에러로그 authz_core AH01630 Apache 2.2.x 버전에서 2.4.x 로 버전을 올린 후 아래와 같은 에러가 발생하면 설정파일을 수정하여야 합니다.[authz_core:error] [pid 1250] [client 접속아이피:62401] AH01630: client denied by server configuration:/home/유저계정/www/noindex, referer: http://www.example.com/noindex/ 해당 httpd.conf 파일을 열어서 아래 내용을 추가해주면 됩니다. # Apache 2.4 Require all granted 2.2.x 버전과 다른점이네요~
PHP UTF-8 한글문자열 SUBSTR UTF-8 한글로 된 문자열에서 부분글자를 가져오려면 3바이트씩 가져와야 합니다. 자바스크립트에서는var str = "가나다라마바사"; var sub_str = str.substr(0, 3); // 가나다 PHP에서는$str = "가나다라마바사";$sub_str = substr( $str, 0, 9 ); // 가나다 $sub_str = substr( $str, 3, 6 ); // 나다 한번씩 착각할 때가 있어서 글로 남깁니다.
MySQL Field 사용자정의 정렬하기 특정 컬럼에 한글이나 영어로 된 값을 사용자가 원하는 대로 커스텀 소팅을 하고 싶다면 Field 함수를 사용하면 됩니다. 먼저 select 로 field 값을 알아보면select field("정치", "경제", "연예", "IT") from 테이블명첫번째 값에 해당하면 1, 두번째는 2 형태로 값이 나옵니다. select * from 테이블명 order by field(컬럼명, "정치", "경제", "연예", "IT") asc 위와 같이 하면 원하는 정렬을 할 수가 있습니다.
MySQL 특정 문자열 치환 PHP 에서 str_replace 함수가 있다면 MySQL 에는 REPLACE 함수가 있어서 문자열을 변경할 수가 있습니다.사용 방법은 PHP str_replace 는 str_replace ( "찾을문자열", "바꿀문자열", "문자열" ) 이지만MySQL 의 replace 는 replace ( 컬럼명, "찾을문자열", "바꿀문자열" ) 입니다. 문자열이 들어있는 컬럼에 특정 문자열을 찾아서 치환 하려면 REPLACE 함수를 사용하면 아주 쉽게 치환이 가능합니다.UPDATE 테이블명 SET 컬럼명 = REPLACE ( 컬럼명, "찾을문자열", "바꿀문자열" ) WHERE 조건식~ 셀렉트 문에서도 사용이 가능합니다.SELECT REPLACE ( 컬럼명, "찾을문자열", "바꿀문자..
PHP QUERY_STRING 파싱함수 parse_str URL 주소에서 ? 다음에 오는 문자열은 $_SERVER['QUERY_STRING'] 으로 받아오면 됩니다.그리고 Get 파라메터를 파싱해주는 함수가 있어서 편리하게 파싱해서 사용할 수가 있습니다. 예1)$query = "param1=v1¶m2=v2";parse_str( $query );echo $param1; // v1echo $param2; // v2 예2)$query = "param1=v1¶m2=v2";parse_str( $query, $params );echo $params['param1']; // v1echo $params['param2']; // v2 편한 방법으로 사용하면 됩니다.
PHP 한글 문자열길이 2자릿수로 계산하기 영문과 한글이 썩인 문자열을 strlen 이나 mb_strlen 함수로 글자길이 값을 구하면 원하지 않은 값을 가져옵니다.예제)$str = "abcd 가나다라";echo strlen($str); // 17echo mb_strlen($str, "utf-8"); // 9 strlen 은 utf-8 로 한글은 3byte 로 계산됩니다.그리고 mb_strlen 으로 계산하면 1로 리턴됩니다. 한글을 2바이트로 계산하는 방법입니다.$str = "abcd 가나다라";$w_len = mb_strlen($str,"utf-8") + (strlen($str) - mb_strlen($str,"utf-8")) / 2;echo $w_len; // 13 mb_strlen 값에 strle..
MySQL 현재 위경도로 가까운 위치 찾기 자신의 위도 경도 좌표로 몇 키로 이내 가까운 거리 찾는 쿼리입니다.$latitude = "위도값";$longitude = "경도값";$distancesql = "round((acos(cos(radians(90-$latitude))*cos(radians(90-latitude))+sin(radians(90-$latitude))*sin(radians(90-latitude))*cos(radians($longitude-longitude)))*6371000), 0)";select round($distancesql/1000, 2) distance from 테이블 order by $distancesql ascphp 코드랑 섞여 있지만 응용하면 될 겁니다. ▶ 10Km 이내 ..
PHP include require 절대경로 include 나 require 로 파일을 불러들일때 상대경로로 할지 절대경로로 할지 고민이 많죠~ 상대경로로 하게되면 호출하는 파일이 항상 하나라면 상관이 없겠지만, 여러 경로에서 호출한다면 호출하는 파일의 경로에 따라 달라지게 되어 워닝 또는 에러가 발생합니다. 그리고 include, require 함수 대신에 include_once, require_once 를 사용하면 중복호출을 하지 않습니다. $_SERVER['DOCUMENT_ROOT'] 를 이용해서 절대경로로 파일을 인크루드하면 됩니다. require_once $_SERVER['DOCUMENT_ROOT']."/inc/common.php"; DOCUMENT_ROOT 의 값은 뒤에 서버 설정에 따라 / ..