본문 바로가기

php15

728x90
반응형
[PHP] memcache 모듈 설정하기 설치한 'memcache' 또는 'memcached'를 PHP에서 사용할 수 있도록 PHP의 'memcache' 모듈을 PHP에 설치해야 한다. 아래의 주소로 가서 'memcache' PHP 모듈을 다운로드 받는다. 다운로드 주소: https://pecl.php.net/package/memcache/4.0.5.2/windows 위의 사진에 형광색으로 칠한 Non Thread Safe 버전을 사용하는 PHP 버전에 맞춰서 다운로드 받는다. PHP에서 설정한 확장 모듈 디렉토리에 다운로드한 파일을 넣는다. PHP 루트 디렉토리에서 'php.ini' 파일을 텍스트 에디터로 열고 아래의 설정 정보를 입력하고 서버를 재기동한다. [MemCache] extension=php_memcache.dll 'phpinfo(.. 2023. 4. 27.
윈도우에 memcached 설치하기 윈도우(Windows)에 'memcached'를 설치하는 방법은 아래와 같다. 'memcached' 다운로드 'memcached'를 윈도우로 빌드한 파일을 다운로드 받는다. 다운로드 주소: https://github.com/jefyt/memcached-windows/releases/latest 자신의 운영체제 버전에 맞춰서 적절한 버전으로 'memcached'를 다운로드 받는다. 본 글에서는 64비트 운영체제에서 사용할 것이기 때문에 위의 사진에서 노란색으로 표시한 파일을 다운로드 받았다. 파일을 다운로드 받았으면 압축 해제를 한다. 아래의 사진처럼 명령어를 입력하여 'memcached'가 잘 실행되는지 확인한다. 자동으로 실행되도록 설정 자동으로 실행되도록 'memcached'를 설정하는 방법은 아래와.. 2023. 4. 18.
[미디어위키] 세션 관련 오류 발생시 해결 방법 오류 개요 미디어위키(MediaWiki)에서 세션(Session) 관련 오류가 나타난다면 PHP 모듈에서 세션이 정상적으로 생성되는지를 확인해야 한다. 미디어위키에서 세션은 PHP 모듈의 세션을 활용하기 때문에 PHP 모듈로 가서 PHP 세션 설정을 확인해야 한다. 오류 메시지와 화면 오류 메시지와 화면은 아래의 사진처럼 나타난다. 세션 데이터가 없어져 편집을 저장하지 못했습니다. 로그아웃되었는지도 모릅니다. 아직 로그인 상태인지 확인하고 다시 시도해주세요. 다시 시도해도 되지 않으면 로그아웃한 다음 다시 로그인하세요. 그리고 브라우저 설정에서 쿠키 사용을 허용하는지 확인하세요. 오류 해결 방법 'php.ini' 파일을 텍스트 에디터로 열어서 PHP 세션 설정을 찾아 아래와 같이 설정한다. 본 글에서는 .. 2023. 4. 16.
[미디어위키] 세션 유지 시간 늘리기 미디어위미디어위키에는 세션 유지 시간을 설정하는 별도의 설정이 없다. 그러므로 'php.ini'에 세션 유지 관련 설정을 수정하면 해당 값으로 잘 동작한다. PHP 세션 유지 시간 설정하는 방법 PHP가 설치된 디렉토리로 가면 'php.ini' 파일이 있다. 해당 파일을 열어서 'session.gc_maxlifetime' 값을 아래의 사진처럼 입력하면 설정이 잘 된다. 설정할 때 시간 단위는 초이며 아래의 사진처럼 28800을 입력하면 8시간이 된다. 세션 최대 유지 시간의 기본값은 24분으로 설정되어 있다. 설정 적용 여부 확인 방법 'phpinfo()' 함수를 실행하면 현재 PHP 모듈의 설정을 확인할 수 있다. 아래의 사진처럼 'session.gc_maxlifetime' 값이 설정한 대로 나타나면 .. 2023. 4. 14.
[라이믹스] IIS+PHP 환경에서 업로드 권한 처리 윈도우(Windows) 운영체제에서 HTTP 서버인 IIS(Internet Information Services)와 PHP 조합하여 라이믹스(Rhymix)를 운용할 때 업로드 기능을 위해 폴더 권한을 잘 설정해야 한다. 크게 2가지를 설정해야 하는데 첫 번째는 업로드 된 파일이 담길 폴더의 권한이고 두 번째는 업로드 될 때 잠시 저장되는 임시 폴더의 권한이다. 업로드 폴더 권한 설정 업로드된 파일은 'files' 폴더에 보관되므로 라이믹스가 설치된 루트 경로에서 'files' 폴더를 찾은 다음 아래의 사진처럼 권한을 설정한다. 임시 업로드 폴더 권한 설정 파일 업로드가 진행 중일 때 임시로 사용되는 폴더의 권한에 따라 파일의 초기 권한이 설정되므로 업로드용 임시 폴더 권한 도 수정하여야 한다. 먼저 아래.. 2023. 3. 6.
[IT 용어] 라이믹스(Rhymix) 정의 라이믹스(Rhymix)는 XE(Xpress Engine)를 포크하여 개발한 국산 CMS(Content Management System)이다. 라이믹스 개발은 기진곰(kijin@poesis.org)님이 리드하고 있다. 특징 라이믹스는 PHP 환경에서 동작하며 태생이 국산이다보니 한국 웹 서비스 정서에 잘 맞는 기능과 디자인을 갖추고 있다. 참고문서 "라이믹스 소개", 라이믹스 공식 홈페이지. @원문보기 "Rhymix", 위키피디아. @원문보기 2023. 1. 11.
[CentOS 8] PHP 7.4 버전 설치하는 법 라라벨8은 PHP 7.3 이상을 요구하기에 이에 맞춰 PHP 버전을 설치해줄 필요가 있었다. 시행착오가 있었기에 시행착오없이 다음에도 설치할 수 있도록 이 글에 PHP 7.4 버전을 설치하는 방법을 남긴다. 설치환경 : CentOS 8.5.2111 1. 사용가능한 PHP 패키지 목록 확인 및 설치하는 PHP 패키지 변경 사용가능한 PHP 패키지 목록을 아래의 명령어로 확인한다. 아래의 사진을 보면 PHP 7.2가 기본 패키지이고 활성화되어 있는 것을 볼 수 있다. sudo dnf module list php 아래의 명령어를 입력하여 PHP 관련 설정을 초기화한다. sudo dnf module reset php sudo dnf module list php 아래의 명령어를 이용하여 설치하는 PHP 패키지 버.. 2021. 12. 23.
라라벨 8 시간/타임존 변경 PHP 설정과 DB 설정에 가서 타임존을 변경하였는데도 시간이 의도와 달리 나온다면 라라벨 8의 자체 타임존을 확인해볼 필요가 있다. 라라벨 8 설정 변경 아래의 명령어처럼 라라벨 8 설정 파일을 텍스트 에디터로 연다. vi config/app.php 그러면 아래와 같은 화면이 나타나는데 timezone을 찾아보자. timezone 설정을 찾았다면 UTC로 되어 있는 것을 원하는 시간으로 수정한다. 필자의 경우 우리나라(대한민국) 표준시인 서울로 설정하였다. 'timezone' => 'Asia/Seoul' 설정파일을 저장하면 바로 적용된다. 정상적으로 반영되었는지 테스트 해본다. 2021. 11. 12.
[CentOS 7/8] 아파치 웹서버(httpd)와 PHP를 설치하자 CentOS 8에 아파치(Apache) 웹서버(HTTPD)와 PHP를 설치해서 테스트할 것이 생겼다. 그래서 각종 자료를 열람하여 설치를 했는데 시행착오를 좀 겪어서 필자가 사용하기 좋게 정리를 하였다. 1. 의존성 라이브러리 패키지 설치 아래의 명령어를 입력하여 선행 설치 파일을 설치한다. yum install -y libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel 2. 아파치 웹서버(httpd) 설치 아래의 명령어로 아파치 웹서버를 설치한다. yum install -y httpd* 아래의 명령어로 설치한 아파치 웹서버가 잘 설치되었는지 확인한다. httpd -v 3. PHP 설치 아래의 명령어로 PHP 패키지를 설치한다. .. 2021. 1. 7.
윈도우에서 php_ssh2 모듈을 써보자 본 글은 2017년 7월 17일 14시 34분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. 윈도우에서 php_ssh2 모듈을 쓰는 이유 아무래도 보안 때문에 sftp를 써야해서 php_ssh2 모듈을 설치했다. 설치하면서 생각보다 착오를 많이 겪어서 다음에 진행하기 용이하도록 이 글에 설치법을 남긴다. 설치를 진행했던 컴퓨터의 환경은 Windows Server 2012 R2 x64와 php5.5, IIS 8.5.9600.16384이다. 먼저 사용가능한 버전을 확인하면 아래와 같다. 윈도우 php_ssh2 모듈 다운로드 php_ssh2 다운로드 주소 : https://pecl.php.net/package/ssh2 php_ssh2 모듈은 이렇게 버전들이 있다. 대부분 리눅스에서 구.. 2020. 10. 11.
미디어위키에 인터넷 익스플로러(IE) 호환성 보기용 메타 태그 추가하기 안타깝게도 2020년인 지금도 인터넷 익스플로러(IE) 호환성을 고려해야하는 상황이 한국에는 있다. 특정 IE 버전으로 호환성 보기를 하기 위해서는 IE 호환성 보기용 meta 태그를 html 페이지에 추가하면 된다[1]. 미디어위키에 meta 태그를 추가하는 방법은 여러가지가 있다 그 중 BeforePageDisplay라는 Hook을 이용하여 페이지의 HTML이 생성될 때 meta 태그를 추가하는 방법이 가장 보편적이다[2]. 하지만 인터넷 익스플로러(IE)의 경우 비표준 meta 태그 형태라서 이 기능을 이용하는 것은 적합하지 않다. 진짜 온갖 방법을 써봤는데 먹히지가 않는다. 아래처럼 IE 호환성 보기용 meta 태그를 넣으면 $out->addMeta( 'http:X-UA-Compatible', '.. 2020. 9. 25.
XE3에서 COMPOSER_HOME 설정하기 XE3는 라라벨(Laravel) 기반으로 작성된 CMS(Content Management System)이다보니 라라벨에서 사용하는 컴포저(Composer)라는 의존성 관리 툴을 활용하고 있다. 이 툴을 활용해서 플러그인과 같은 것들을 생성할 수 있다고 한다. 필자의 경우 이 Composer 설치 경로를 설정하지 않아서 'COMPOSER_HOME environment variable must be set for composer to run correctly.'라고 에러가 났었다. XE3의 경우 컴포저를 내장하고 있으므로 XE3 내에서 컴포저 관련 파일들이 저장될 공간을 만들고 그 경로를 XE3 관리자 페이지에서 설정하면 해결된다. 사이트 루트경로로 가서 컴포저 저장소로 활용할 폴더를 '.composer'라.. 2019. 10. 3.
IIS+PHP7 환경에서 XE3용 MIME 설정하기 XE3에서 일부 기능에서는 파일 확장자를 사용하지 않는 것들이 있는데 이 때문에 정상적으로 기능이 작동하지를 못 한다. IIS+PHP7로 서버를 구성하였다면 MIME(Multipurpose Internet Mail Extensions) 설정을 별도로 해줘야 한다. 파일 확장자가 없으므로 IIS+PHP7으로 구성한 서버의 기본 설정으로는 서버가 파일을 보내주지 않으므로 저렇게 해당 주소에 이미지가 없다고 대체 이미지가 뜬다. 실제 경로에 가보면 이렇게 파일이 있다. 윈도우 이미지 뷰어로 열어보면 잘 보인다. 확장자 없는 파일도 전송되도록 MIME를 수정해줘야 한다. IIS(인터넷 정보 서비스) 관리자로 가서 해당 사이트의 IIS MIME 형식 설정을 연다. 우측 상단의 '추가'를 누르고 위 이미지 처럼 '.. 2019. 10. 3.
XE3 에서 'The operation is locked.' 경고 해결하는 법 XE3에서 작업하다보면 어떤 이유 때문에 진행하던 작업을 강제 중단해야하는 경우가 있다. 그러다보면 XE3에서 특정 리소스가 잠긴 상태 그대로 남게 되고 이 때문에 'The operation is locked. Make sure that another process is running.'이라는 문구를 보게 될 것이다. 이를 해결하는 방법은 간단하다. XE3가 설치된 경로의 /storage/app/operations.json 파일을 열어서 해당 작업이 잠긴 것을 해제해주면 된다. "lock": true, 되어 있는 것을 "lock": false, 로 바꾸면 된다. 2019. 10. 3.
XE3에서 관리자 2차 비밀번호 분실시 확인하는 법 XE3가 무엇인지 알아보겠다고 설치한 지 몇달의 시간이 지난 후에 드디어 시간이 되서 관리자 페이지를 살펴보려고 했는데 2차(2단계) 비밀번호를 입력해라고 떠서 좀 당황했다. 2차 비밀번호를 잊어버려서 찾는다고 시간을 좀 버렸다. 비밀번호는 평문으로 사이트가 설치된 폴더에 있는 파일에 저장되어 있었다. 2차 비밀번호 파일 경로 : {XE3가 설치된 경로}/config/production/auth.php 'password'에 들어가는 문자열 값이 현재 2차 비밀번호이다. 저 부분을 확인해서 그대로 쓰거나 변경하고 싶으면 변경하면 된다. 기존 비밀번호가 저장된 파일 정보 2019. 9. 8.