Posted
Filed under 프로그래밍/PHP
composer 잘 쓰다가 갑자기 저 오류가 난다...헐
찾아봐도 별다른 방법이 없는데 "composer update --prefer-dist" 이거 해주니까 잘된다.

2017/04/04 16:03 2017/04/04 16:03
Posted
Filed under 프로그래밍/PHP
PHP5 에서 PHP7로 업그레이드 하면서 몽고 클래스에서 오류가 난다.

new \MongoClient();

기존 부분을

new \MongoDB\Driver\Manager();

이렇게 바꿔주면 된다.


2016/12/12 10:56 2016/12/12 10:56
Posted
Filed under 프로그래밍/PHP
1. virtualbox 설치
2. vagrant 설치
3. phpstorm 설치
4. phpstorm -> setting -> vagrant 에서
    instance folder 지정해주고 Boxes에서 +로 기본값 lucid32 추가
5.tools -> vagrant -> Init in Project Root
6.tools -> vagrant -> Up
7.Tools -> Start SSH Session -> vargrant 선택

Getting started with Vagrant in PhpStorm

트러블슈팅 :
프로젝트가 리눅스파티션이 아닌곳에 설치되어있다면 private_key 오류가 발생한다.
이때는 private_key를 리눅스파티션으로 복사를 하고 Vagrantfile 파일을 열고 적절한곳에 아래 내용을 추가한다.

config.ssh.private_key_path = "복사한곳 위치와 파일명"

VAGRANTFILE - VAGRANTFILE SSH SETTINGS

DHCP IP를 할당하고 싶다면 Vargrantfile에 추가

config.vm.network "private_network", type: "dhcp"


ubuntu 16으로 설치 :
box 기본 url은 ubuntu 12버전이다.
16으로 하고 싶을때는 box url을 https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-vagrant.box 으로 입력해준다.

box들은 Vagrantbox.es 에서 찾아볼수 있다.
2016/11/17 12:59 2016/11/17 12:59
Posted
Filed under 프로그래밍/PHP
난 PHPSTORM 을 쓰니까...
플러그인에서 power mode 라고 검색하면 Power Mode II 라는게 있는데 이걸 설치한다.
그럼 아래처럼 타이핑 할때마다 파파파팍~~
너무 심한것 같으면 설정에서 정도를 조절한다.

사용자 삽입 이미지



https://plugins.jetbrains.com/plugin/8251


2016/10/26 11:52 2016/10/26 11:52
Posted
Filed under 프로그래밍/PHP
프로젝트 디렉토리에서 실행 

composer.phar이 없으면 가지고 온다.
 
curl -sS https://getcomposer.org/installer | php
 


guzzle 설치
 
./composer.phar require guzzlehttp/guzzle
 


index.php 에 추가
$container['guzzleHttp'] = function ($container) {
 $client = new \GuzzleHttp\Client();
 return $client;
};


사용은 이런식으로..
 
echo $container['guzzleHttp']->get('http://www.naver.com')->getBody();
 


주의 : AWS SDK를 사용한다면 이미 AWS SDK에서도 guzzle을 로드하기때문에 충돌난다.
이럴때는 그냥 AWS SDK에 포함되어있는 guzzle을 사용하면된다.

참조 : http://docs.guzzlephp.org/en/latest/quickstart.html



2016/09/19 15:34 2016/09/19 15:34
Posted
Filed under 프로그래밍/PHP
기본적으로 PHP-FPM에서 오류가 기록되지 않는다.

1. fpm/pool.d/www.conf  파일을 연다. (보통 /etc/php5/fpm/pool.d/www.conf 여기에 있다)

2.  아래 내용의 주석을 푼다. (주석은 ; 이다)
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on

3. 로그파일을 생성한다. (슈퍼유저로 실행)
touch /var/log/fpm-php.www.log; 

4. 로그파일에 권한을 준다. (슈퍼유저로 실행)
www-data는 php-fpm의 실행 유저이다.
chown www-data.www-data /var/log/fpm-php.www.log

5. php5-fpm 재실행
service php5-fpm restart

6. 끝

2016/09/09 19:06 2016/09/09 19:06
Posted
Filed under 프로그래밍/PHP
array의 내용중에 하나또는 여러개를 unset으로 삭제했을때
json_encode를 하면 인덱스가 안맞아서 다른형태로 나오게 된다.
이럴때 사용해도 되고 여러곳에 응용.

  
$var_array = array_values(array_filter($var_array));
 





2016/08/31 14:20 2016/08/31 14:20
Posted
Filed under 프로그래밍/PHP
5.5.0부터는 @ 만으로 파일을 전송할수 없다.
CURLFile Class를 사용해야 한다.

http://php.net/manual/en/class.curlfile.php

CURLOPT_POSTFIELDS The full data to post in a HTTP "POST" operation. To post a file, prepend a filename with @ and use the full path. The filetype can be explicitly specified by following the filename with the type in the format ';type=mimetype'. This parameter can either be passed as a urlencoded string like 'para1=val1&para2=val2&...' or as an array with the field name as key and field data as value. If value is an array, the Content-Type header will be set to multipart/form-data. As of PHP 5.2.0,value must be an array if files are passed to this option with the @ prefix. As of PHP 5.5.0, the @ prefix is deprecated and files can be sent using CURLFile. The@ prefix can be disabled for safe passing of values beginning with @ by setting the CURLOPT_SAFE_UPLOADoption to TRUE.


2016/06/03 16:47 2016/06/03 16:47
Posted
Filed under 프로그래밍/PHP
국내 php 개발자들 대부분이 디버깅을 안하는걸로 알고 있다.
아직도 editplus를 쓰는곳이 허다하니...

제발 디버깅 하자~~~~~


* php에 xdebug설치
apt-get install php5-xdebug

* 20-xdebug.ini 에 추가
xdebug.remote_enable = 1
php5-fpm 리스타트

* 크롬에서 Xdebug helper 설치
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

* phpstorm 에서 가운데 전화기 벌레모양 킨다
사용자 삽입 이미지




 브레이크 포인트를 하나 걸어놓고

* 크롬 Xdebug helper의 Debug를 키고 새로고침 한다.

* 처음 접근시에는 accpet  화면 나오는데 그냥 accpet누른다.

* phpstorm에서 잡힌다~
사용자 삽입 이미지








* 잘 쓰삼~

2016/04/14 18:35 2016/04/14 18:35
Posted
Filed under 프로그래밍/PHP
PHP버전을 5.6.11로 업그레이드를 했더니 Disallowed Key Characters. 오류가 난다.
해결 방법은...

1. system/core/input.php 을 연다.
2. function _clean_input_keys($str) 을 찾는다.
3. 수정한다.
 if ( ! preg_match("/^[a-z0-9:_\/-]+$|/i", $str))
 {
 exit('Disallowed Key Characters.'. $str);
 }



추가로...
Common.php 257번째줄에 notice가 나오면 수정
 $_config[0] =& $config;
 return $_config[0];



2016/03/14 16:21 2016/03/14 16:21