본문 바로가기

프로그래밍/언어 - PHP30

Mac OS 에서 mcrypt 설치하기 brew 를 사용하여 php 를 버전별로 설치하여 사용하고 있다면, extention 모듈을 pecl 을 이용하여 설치할 수 있습니다. mcrypt.so 를 연동하고 싶다면 다음과 같이 실행합니다. brew install mcrypt pecl install mcrypt 이 과정에서 아래의 이미지처럼 prefix 를 물어오는 경우, 해당 소스가 위치한 경로를 입력하여야합니다. 가령, /opt/homebrew/Cellar/mcrypt/2.6.8 과 같이 지정합니다. 2021. 2. 12.
Laravel 환경설정 - .env, nginx 1. 로컬 개발 환경 .gitignore 에 아래 파일을 추가합니다. .env.local .valet-env.php 라라벨 프로젝트의 루트 디렉토리로 이동한 후, valet link 명령어로 로컬 도메인(http://myproj.test)을 생성합니다. valet link myproj 마찬가지로 루트 디렉토리에서 .valet-env.php 파일을 생성한 후, APP_ENV 전역 변수를 설정합니다. 2020. 3. 18.
Laravel Nova 설치하기 Nova 는 라라벨 관리자페이지 라이브러리로 유료입니다. 해당 라이센스를 구매한 후, Releases 페이지에서 파일을 다운로드합니다. 압축을 푼 후, 디렉토리명을 nova 로 변경합니다. 사용할 라라벨 프로젝트의 루트 디렉토리에 해당 디렉토리(repos/nova)를 추가합니다. vi composer.json "require": { ..... "laravel/nova": "*" } ...... "repositories": [ { "type": "path", "url": "./nova" ] 아래 명령어를 실행합니다. composer update php artisan nova:install 데이터베이스 마이그레이션을 실행합니다. php artisan migrate 접속 URL 에 /nova 를 추가하여 접속.. 2020. 3. 5.
Mac OS 에서 라라벨 개발 환경 구축 - Valet brew 기반으로 설치가 가능하며, composer 의 경우 미리 설치하여야합니다. composer 실행의 경우, composer 또는 composer.phar 을 사용합니다. brew update brew install php composer global require laravel/valet 시스템 PATH 에 경로를 추가합니다. sudo nano /etc/paths ~/.composer/vendor/bin valet 을 설치합니다. valet install 설치가 완료되었으면, ping abcde.test 로 test 로 끝나는 도메인으로 핑을 시도해봅니다. 올바르게 설치가되었다면, 127.0.0.1 로 부터 응답이 오게됩니다. 설치 후, 맥이 실행될때마다 자동으로 데몬이 실행됩니다. 만약, 도메인.. 2020. 3. 2.
Laravel 5.8 Unit Tests 시 SQLite 를 메모리에서 사용하기 config/database.php 의 connections 에서 아래의 설정을 추가합니다. 'sqlite_testing' => [ 'driver' => 'sqlite', 'database' => ':memory:', 'prefix' => '', ], phpunit.xml 의 DB_DEFAULT 값을 sqlite_testing 으로 변경합니다. PHP Storm 을 사용할 경우, Languages & Frameworks > PHP > Test Frameworks 에서 phpunit.xml 을 지정하여야합니다. 단위 테스트 파일에서 RefresDatabase 을 선언합니다. 테스트 메소드가 호출될때마다 데이터베이스가 초기화(rollback, migrate)되므로, 초기화 데이터는 setUp() 에 추가합니다. 2019. 9. 4.
CentOS7, nginx, php-fpm 환경에서 버전별 PHP 사용하기 1. root 권한으로 작업 먼저, remi 리포에서 php7.2 버전을 설치합니다.yum install php72 php72-php-common php72-php-fpmyum install php72-php-mysql php72-php-gd php72-php-mbstring php72-php-mcrypt php72-php-xml php72-magickwand php72-php-pecl-zip php72-pecl-imagick 기존 php 버전과 충돌이 되지않드록 디렉토리를 생성하고 퍼미션을 조정합니다.mkdir /var/run/php72-fpmmkdir /var/lib/php72mkdir /var/lib/php72/nginx-sessionmkdir /var/lib/php72/nginx-wsdlcache.. 2018. 5. 20.
페이팔(paypal) sandbox 사용하기 1. https://developer.paypal.com/ - 개발자 페이지로 로그인합니다. Sandbox Access Token 을 생성합니다. 생성이 모두 끝나면, Accounts 메뉴를 선택하여 facilitator 와 buyer 가 생성되었는지 확인합니다. 각각 판매자와 구매자 계정이라고 보면 됩니다. 각 계정의 비밀번호를 변경하여 줍니다. 판매자의 경우, API 연동을 위한 기본 값들을 확인할 수 있습니다. 2. https://www.sandbox.paypal.com - sandbox 페이지로 로그인합니다. 이때 로그인 아이디, 비밀번호는 상기 developer 페이지에서 생성한 구매자 또는 판매자 아이디, 비밀번호를 사용합니다. 테스트를 위해 생성된 잔액을 확인할 수 있습니다. 이제 열심히 개.. 2018. 2. 22.
PHPStorm Terminal 을 git bash 로 교체하기 Windows 에서 PHPStorm 의 터미널은 당연한 얘기겠지만, 명령프롬프트가 실행됩니다. 이를 git 설치시 함께 배포되는 bash로 변경해봅니다. 설정(Ctrl + Alt + S) 에서 Tools > Terminal 로 들어갑니다. 그리고 아래와 같이 git 의 설치 경로에 있는 sh.exe 를 연결합니다.(64비트용으로 git 을 설치하였다면, C:\Program Files\ 아래 위치합니다.) "C:\Program Files (x86)\Git\bin\sh.exe" -login -i 터미널 창을 닫고 띄우면, 아래와 같이 bash 가 실행됩니다. 이렇게 간단한 것을 그동안 미련하게 작업해왔네요. ^^ 2017. 8. 31.
Laravel 점검 모드에서 AWS ELB health 검사 \App\Http\Middleware\CheckForMaintenanceMode.php 를 작성합니다. 2017. 4. 25.
PHP 7 에서의 예외처리 - Throwable, Exception, Error PHP 의 경우 Error 와 Exception 을 구분합니다. PHP 7 에서는 Error 중 E_ERROR, E_RECOVERABLE_ERROR 의 경우 Exception 처럼 사용(try, catch, finally)이 가능합니다.(그 외 Error 는 기존의 방식과 동일합니다.) 하지만, Exception 처럼 사용이 가능하다고 Exception 클래스를 상속받은 것은 아닙니다. 별도의 Error 클래스를 상속받았지요. 다만, Exception 과 Error 클래스는 모두 Throwable 인터페이스를 상속하여 구현되었습니다. Throwable { abstract public string getMessage ( void ) abstract public int getCode ( void ) abst.. 2017. 4. 21.
Laravel5 + Angular2 + Fuse-box 사용하기 먼저, Laravel5 + Angular2 환경을 구축하기 위하여 제법 복잡한 설정들을 하였습니다. 2016/11/09 - [프로그래밍/언어 - PHP] - Angular2 설치하기 - Laravel 5 하지만 개발하면서 불편한 점이 한두가지가 아니더군요. gulp typescript, gulp copy 명령어의 연속... 그리고 브라우저 새로고침 반복들... 이후, webpack 의 존재를 알게되었지만 이상하게 관련 설정을 하기 싫더군요.(게으름이...) 그러다 우연히 Fuse-box 란 놈을 발견하게 되었습니다. 자석에 이끌리듯 설정하게 되었네요. 1. 설치 npm 을 사용하여 fuse-box 를 설치합니다. npm install fuse-box --save-dev 2. 환경설정(디버그) 라라벨 설치.. 2017. 2. 17.
PhpStorm 의 .idea 디렉토리 git ignore 처리하기 .idea 등 특정 디렉토리 이하 파일들에 대한 ignore 를 처리하기 위하여 아래처럼 설정합니다. 가령, .idea 디렉토리인 경우 설정에서 Version Control > Ignored File > Add 를 실행한 후, Ignore all files under 를 실행하여 해당 디렉토리를 지정한 후, Terminal 에서 아래의 명령어를 실행합니다. git rm --cached .idea/* 2016. 12. 26.
Angular2 설치하기 - Laravel 5 Elixir 를 사용하는 방법은 이전 포스팅을 참고하여 주세요. 2016/06/13 - [프로그래밍/언어 - PHP] - Elixir 사용하기 - Laravel 5 package.json 파일에 설치할 패키지를 추가합니다. elixir-typescript 대신 saaksin-elixir-typescript 를 사용합니다.(대충 수정해서 Angular2 용으로 npm 패키지 등록하였습니다. ^^) { "private": true, "scripts": { "prod": "gulp --production", "dev": "gulp watch" }, "devDependencies": { "gulp": "^3.9.1", "laravel-elixir": "^5.0.0", "saaksin-elixir-typescri.. 2016. 11. 9.
PhpStorm 원격 디버깅 - xdebug 원격 서버에 xdebug 패키지를 설치합니다. yum install php-pecl-xdebug 관련 설정을 추가합니다. vi /etc/php.d/15-xdebug.inixdebug.remote_enable=1xdebug.remote_host="localhost"xdebug.remote_port=9000xdebug.remote_log="/tmp/xdebug.log"xdebug.idekey="PHPSTORM"xdebug.remote_mode="req" 원격 서버에서 php-fpm 을 재실행합니다. 개발 PC 의 PhpStorm 에서 PHP Debug Connection 의 리스닝 모드를 활성화합니다. 원격서버에서 개발 PC로 연결이 가능하도록 SSH 터널링을 합니다. Putty 를 사용하는 방법은 많이 알.. 2016. 11. 4.
Laravel 5.2 Whoops 디버그 패키지 사용하기 Laravel 4 에서 볼 수 있었던 Whoops 를 Laravel 5 에서 사용하기 위하여 아래의 composer 패키지를 추가합니다. filp/whoops app\Exceptions\Handler.php 를 아래와 같이 수정합니다. protected function renderExceptionWithWhoops(Exception $e) { $whoops = new \Whoops\Run; $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler); return new \Illuminate\Http\Response( $whoops->handleException($e), $e->getStatusCode(), $e->getHeaders() ); } public.. 2016. 6. 3.