잡담 직장이 구해지지 않고 있습니다, 개발 능력도 키울 수 있고 페이도 좋으며 집과 가까운 그런 회사 없나.. 지난번에 GoLang 관련 회사로 면접을 볼 기회가 있었는데 긴장을 너무한 게 두고두고 아깝네요. 개요 이전 회사에서 Laravel 또는 Wordpress로만 프로젝트를 구축하고 관리했습니다 순수 PHP 만으로 개발한 사이트가 없었기기에 해보고 싶었고 곧 놓을지도 모르는 PHP 정리도 할 겸 겸사겸사 게시판 프로젝트를 만들었습니다. 아래가 원본 주소입니다. 만약 에러가 생길 경우 아래 주소를 참고하시면 됩니다. https://github.com/DSeung001/php-bbs GitHub - DSeung001/php-bbs Contribute to DSeung001/php-bbs developm..
PHP
Q : 접근 제어자 public, private, protected의 차이 A : public은 어디서나, private는 같은 클래스에서, protected는 같은 클래스 및 자식 클래스에서 접근 가능 Q : PSR은 무엇인가? A : php를 작성하기 위한 규칙, 코딩 스타일 가이드 권장 가이드, 버전마다 가이드가 다르므로 기존 가이드를 유지하는 게 좋음 Q : php 프레임워크 사용 경험, 장단점 A : Laravel 프레임워크를 주로 사용했고 CMS인 워드프레스가 있음 Laravel 간단한 코드로 강력한 웹 애플리케이션을 개발할 수 있는 PHP계의 스프링! wordpress 간단하게 CMS 사이트를 만들 수 있으며 더 깊게 파고들어서 테마 및 플러그인을 적용 및 개발을 PHP로 가능 Q : Nul..
도커에서 아래와 같이 apm을 전부 정상적으로 설치했음에도 데이터베이스가 연결 안될 경우 아래 방법을 적용하면 됩니다., define( 'DB_NAME', 'myapp' ); /** MySQL database username */ define( 'DB_USER', 'root' ); /** MySQL database password */ define( 'DB_PASSWORD', 'secret' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' ); /** Database Charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The Database Collate t..
개요 2019년부터 워드프레스 및 라라벨로 개발하고 있는 이제는 3년 차 웹 개발자입니다. 슬슬 이직을 하고 싶다는 생각이 계속 들고 있습니다, 채용 시장조사를 하던 중 PHP를 계속하는 게 제 커리어 적으로 좋을지 의문이 들었습니다. 아마 저처럼 처음 회사에 들어와서 처음 PHP를 접하여 사용하는 분들이 많을 것이며 마찬가지로 입사 후 라라벨와 워드프레스 또한 처음 배우신 분들 일 것입니다. 그러면 자연스럽게 저와 비슷한 고민을 할 것 같습니다 제 글이 참고가 되었으면 좋겠네요. 인터넷 반응 PHP에 대한 국내 개발 커뮤니티 반응은 대체로 아래와 같습니다. PHP는 별로다. 취업이 안된다. 유행이 지났다. 저는 산업기능요원으로 개발 업체에서 복무하고 있습니다. 산업기능요원을 진행하면서 군 훈련소에 입소..
홈스테드 환경으로 개발 중 symbolic link error와 같은 에러로 개발을 진행하기 쉽지 않은 경우가 존재합니다. 그럴 경우 임시로 로컬에서 작업할 수 있습니다. php 신규 버전을 추가로 설치하시면 됩니다. https://windows.php.net/download/ 다운로드한 zip을 압축 해제하여 기존 php 폴더의 부모 디렉터리에 넣습니다. 이제 기본 php-8.1.11 폴더명을 php로 기존 php를 php7.1.3으로 수정합시다. 다시 사용자 환경변수 등록하는 방법도 있으나 그러면 아파치 설정을 다 업데이트 해야합니다. 그리고 php.ini 파일을 php.ini-development를 복사해서 만들어줍시다. 해당 파일의 내용 중 ; 모듈 폴더 주석 제거 extension_dir = "..
개요 Widnows + Homestead 환경에서 php 외부 모듈을 추가해야 할 일이 생겼습니다. php.ini 위치를 확인 후 가볍게 적용하려고 했으나 잘 되지 않았습니다. 총 2단계에 걸쳐서 막혔습니다. 1. 일반 APM과 다른 확장 모듈 폴더의 위치 2. Cli 에서만 적용된 모듈 확장 모듈 폴더의 위치 기존 APM에서는 아래 명령어를 통해 쉽게 php.ini위치를 파악하고 php -r "phpinfo();" | grep "Loaded Configuration File" extension_dir과 enable_dl의 주석을 해제한 후 필요한 extension 주석을 삭제하는 방식으로 모듈을 추가할 수 있었습니다. 하지만 Homestead 환경에서는 ext 폴더가 없을뿐더러 이미 다른 폴더를 통해 ..
PHP 8.1 다운로드 https://windows.php.net/download/ PHP For Windows: Binaries and sources Releases PHP 8.1 (8.1.9) Download source code [25.29MB] Download tests package (phpt) [15.11MB] VS16 x64 Non Thread Safe (2022-Aug-02 14:49:14) Zip [29.24MB] sha256: f3dbfda26ed2c75d49dc890f22b30abd7feaf2487653d8335eed53605a254836 Debug Pack [23.83MB] sha256: 6a6b0 windows.php.net 아래와 같이 다운로드하여 주세요, 무조건 Thread S..
1. phpinfo.php 생성 2. php.ini 위치 찾기 php -f phpinfo.php | grep "Loaded Configuration File" 또는 1번을 실행하지 않고 바로 찾을 수도 있습니다. php -r "phpinfo();" | grep "Loaded Configuration File" 마찬가지 방법으로 php 확장 모듈도 찾을 수 있습니다. php -r "phpinfo();" | grep ^extension
에러 상황 1. Ajax 요청 및 관리자 단을 들어가는 등 모델 사용 시 아래와 같은 에러 발생 2. ssh에서 php artisan route:list 입력 시 PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 262144 bytes) in 에러 발생 시도 - vagrant의 xdebug 설정을 다 주석처리 - homestead.yamll의 맵핑에 type:apache로 변경하기 를 시도해보았으나 nginx나 설정의 문제가 아닌 코드 상의 에러였습니다 해결 설정을 바꾸지 않았는데 단순히 502 에러라는 이유로 서버나 설정이 원인인 걸로 오해해서 8시간을 날렸네요 php artisan route:list..
for( $re = 0; $re < 10; $re++ ) { $code = gzinflate(base64_decode($code)); } PHP의 함수들을 이용해서 매우 간단한 소스 코드 암호화 인코더&디코더 작업을 해보겠습니다. (해당 인코더는 맛보기 수준이므로, 로더가 필요 없는 대신 인코더의 장점인 PHP 실행 속도 향상은 있지 않으며 그저 소스코드를 보지 못하게 하는 용도) 1. 사용 함수 eval ( string $code ) 매개변수 $code를 php로 실행함. * 매개변수로 주어진 값을 PHP로 실행시키는 것이기에 $_GET, $_POST 등에 관련된 부분에서 해당 함수는 보안에 취약하기에 쓰지 않는 것이 좋습니다. gzdeflate ( 아무튼 많음 ) : string|false 문자열을 ..