검색결과 리스트
php에 해당되는 글 23건
- 2011/03/14 PHP 5.3.x timezone 에러 (2)
- 2010/10/14 PHP cURL Multiple Processing
- 2010/09/28 php integer 크기
- 2010/09/20 php hiphop 컴파일 설치
- 2010/09/15 lampp mysql 원격접속 문제
- 2010/09/08 Perl, Python 및 PHP를 위한 Eclipse 개발 환경 빌드하기
- 2010/08/27 php type check
- 2010/08/06 PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
- 2010/05/12 PHP Call-time pass-by-reference has been deprecated in
- 2010/02/19 me2day api PHP (7)
글
IT/Tech 2011/03/14 12:22PHP 5.3.x timezone 에러
Message: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Seoul' for 'KST/9.0/no DST' instead
참고
php.ini 에서 date.timezone = "Asia/Seoul" 설정변경
'IT > Tech' 카테고리의 다른 글
| Redhat 4 에 yum install (0) | 2011/09/07 |
|---|---|
| java zip 파일 java.lang.IllegalArgumentException (0) | 2011/05/24 |
| PHP 5.3.x timezone 에러 (2) | 2011/03/14 |
| OSPF ( Open Shortest Path First ) (0) | 2011/03/14 |
| js HEUR/Malware 바이러스 문제 (0) | 2010/12/16 |
| 이클립스용 구글 플러그인 설치 (0) | 2010/12/15 |
트랙백
댓글
글
IT/Tech 2010/10/14 08:30PHP cURL Multiple Processing
참고
[code php]
$mch = curl_multi_init();
session_write_close(); // curl 세션 정보공유를 위해서 필요함.
$data = "Key=Val or Arr";
$pickup = "http://mypickup.kr/class/method/";
$cookie = Array();
foreach($_COOKIE AS $key => $val) $cookie[] = $key.'='.$val;
$cookie = implode(';', $cookie).'; path=/';
foreach($arr AS $key => $val){
$ch_{$val} = curl_init();
curl_setopt($ch_{$val}, CURLOPT_TIMEOUT, 30);
curl_setopt($ch_{$val}, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch_{$val}, CURLOPT_COOKIE, $cookie); // 세션 유지를위해서 꼭 필요한 내용
curl_setopt($ch_{$val}, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch_{$val}, CURLOPT_URL, $pickup);
curl_setopt($ch_{$val}, CURLOPT_HEADER, 0);
curl_setopt($ch_{$val}, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch_{$val}, CURLOPT_POST, 1);
curl_setopt($ch_{$val}, CURLOPT_POSTFIELDS, $data);
curl_multi_add_handle($mch, $ch_{$val});
}
$active = NULL;
do{
$mrs = curl_multi_exec($mch, $active);
} while ($mrs == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrs == CURLM_OK) {
if (curl_multi_select($mch) != -1) {
do {
$mrs = curl_multi_exec($mch, $active);
} while ($mrs == CURLM_CALL_MULTI_PERFORM);
}
}
foreach($this->data['sns'] AS $key => $val){
if(! empty($ch_{$val})){
$rs = curl_multi_getcontent($ch_{$val});
curl_multi_remove_handle($mch, $ch_{$val});
if(! empty($rs) && is_array(json_decode($rs, TRUE))){
$print = array_merge($this->data, json_decode($rs, TRUE) );
}
}
}
curl_multi_close($mch);
[/code]
- php.net cURL Manual
- stackoverflow asynchronous-php-calls
- Maintaining PHP session when using CURL.
- Easy Parallel Processing in PHP
[code php]
$mch = curl_multi_init();
session_write_close(); // curl 세션 정보공유를 위해서 필요함.
$data = "Key=Val or Arr";
$pickup = "http://mypickup.kr/class/method/";
$cookie = Array();
foreach($_COOKIE AS $key => $val) $cookie[] = $key.'='.$val;
$cookie = implode(';', $cookie).'; path=/';
foreach($arr AS $key => $val){
$ch_{$val} = curl_init();
curl_setopt($ch_{$val}, CURLOPT_TIMEOUT, 30);
curl_setopt($ch_{$val}, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch_{$val}, CURLOPT_COOKIE, $cookie); // 세션 유지를위해서 꼭 필요한 내용
curl_setopt($ch_{$val}, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch_{$val}, CURLOPT_URL, $pickup);
curl_setopt($ch_{$val}, CURLOPT_HEADER, 0);
curl_setopt($ch_{$val}, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch_{$val}, CURLOPT_POST, 1);
curl_setopt($ch_{$val}, CURLOPT_POSTFIELDS, $data);
curl_multi_add_handle($mch, $ch_{$val});
}
$active = NULL;
do{
$mrs = curl_multi_exec($mch, $active);
} while ($mrs == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrs == CURLM_OK) {
if (curl_multi_select($mch) != -1) {
do {
$mrs = curl_multi_exec($mch, $active);
} while ($mrs == CURLM_CALL_MULTI_PERFORM);
}
}
foreach($this->data['sns'] AS $key => $val){
if(! empty($ch_{$val})){
$rs = curl_multi_getcontent($ch_{$val});
curl_multi_remove_handle($mch, $ch_{$val});
if(! empty($rs) && is_array(json_decode($rs, TRUE))){
$print = array_merge($this->data, json_decode($rs, TRUE) );
}
}
}
curl_multi_close($mch);
[/code]
'IT > Tech' 카테고리의 다른 글
| ubuntu apm 설치 (0) | 2010/10/21 |
|---|---|
| facebook API Quick Guide (CodeIgniter) (0) | 2010/10/15 |
| PHP cURL Multiple Processing (0) | 2010/10/14 |
| curl "SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL" (0) | 2010/09/30 |
| php integer 크기 (0) | 2010/09/28 |
| ubuntu java-jre 설치 (0) | 2010/09/22 |
트랙백
댓글
글
IT/Tech 2010/09/28 08:30php integer 크기
PHP INTEGER 크기
[code php]
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
[/code]
PHP 에서 제공하는 정수는 10자리 2147483647 까지 입니다.
Facebook 에서 제공하는 API로 이전 Feed를 업데이를 할 때는 결과값이
/me/feed 로 요청을 보내서 Array('id' => '{fb_id}_{feed_id}', ... ) 형식으로 결과가 넘어 오는 관계로 이대로 값을 활용했는데
개발중인 서비스가 url을 다루는 관계로 links 로 변경을 했더니 결과값이 다르게 넘어와서 문제가 생겼습니다.
/me/links 로 요청을 보낸 결과 Array('id' => '{links_id}') 2010.09.27 현재 결과 id 는 15자리 정수입니다.
위 에서 결과로 넘어오는 id 값중 feed_id 와 links_id 는 브라우즈에서 접근이 가능한 "story_fbid={id}" 입니다.
문제는 PHP에서 10자리를 초과하는 값을 float로 자동변환해 버린다는 문제입니다. 결과값을 그대로 DB에 저장을 해 버리면 값이 제대로(?) 저장이 되는거 같은데 가끔 그것도 아닌거 같더군요.
현재 facebook API lib 는 facebook에서 제공하는 lib를 사용하는 관계로 결과값을 json으로 받아서 json_decode를 사용해서 연관배열로 변환한 값입니다.
PHP 5.3 버전 이상에서는 json_decode에서 BIGINT 이상일 경우 STRING형태로 반환하는 기능이 있으나 서비스중인 PHP 버전이 그 이하 버전이므로 패스~
class lib로 제공되는 Services_json 을 확인해보니 BIGINT에 대한 기능은 없었습니다.
facebook 결과값을 (string)$fb['id'], srtval($fb['id']) 형태로 변환할 경우 앞에서 12자리까지만 제대로 반환되고 나머지 3자리는 0을 반환해서 사용불가.
그외 php 변수 크기의 한계를 넘는 듯 합니다. 에서 정보를 얻어
위 2가지 lib를 확인했지만 이미 결과로 넘어온 값을 PHP에서 제대로 뽑아 낼수 없었습니다.
그래서 임시로 number_format기능을 사용해서 원하는 값을 얻어 냈습니다.
[code php]
/*
$fb = $this->db->api(
'/me/feed',
'post',
Array(
'message' => 'message'
)
);
if(isset($fb['db'])) $id = $fb['id'];
*/
$fb = $this->fb->api(
'/me/links',
'post',
Array(
'message' => 'message',
'link' => 'url'
)
);
/**
* TODO :
* /me/link 결과 $fb['id'] 값은 {links_id} 15자리 숫자 형식.
* PHP에서 제공하는 정수 숫자 자리수는 10자리.
* 현재 임시로 제공한 number_format는 17자리(12345678901234567)까지는 정확한 값을 리턴.
* number_format(999999999999999999) => 9,999,999,999,999,999,xxx,xxxx
* 5.3 이상에서 json_decode 에서 BIGINT를 STRING으로 반환하는 기능이 추가되었으나 현재 현재서비스중인 PHP는 5.3 미만 버전.
*/
if(isset($fb['db'])) $id = mem('fb_id').'_'.str_replace(',', '', number_format($fb['id']) );
[/code]
얼마동안은 문제가 없겠지만 결국은 json_decode 시 BIGINT이상의 값을 STRING으로 변환해서 반환하는 기능으로 변경되어야 할것 같습니다.
number_format 에서 어느정도의 숫자를 커버하는지 궁금하군요. 특정숫자에서는 15자리까지 확인했지만 이것도 문제네요
[code php]
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
[/code]
PHP 에서 제공하는 정수는 10자리 2147483647 까지 입니다.
Facebook 에서 제공하는 API로 이전 Feed를 업데이를 할 때는 결과값이
/me/feed 로 요청을 보내서 Array('id' => '{fb_id}_{feed_id}', ... ) 형식으로 결과가 넘어 오는 관계로 이대로 값을 활용했는데
개발중인 서비스가 url을 다루는 관계로 links 로 변경을 했더니 결과값이 다르게 넘어와서 문제가 생겼습니다.
/me/links 로 요청을 보낸 결과 Array('id' => '{links_id}') 2010.09.27 현재 결과 id 는 15자리 정수입니다.
위 에서 결과로 넘어오는 id 값중 feed_id 와 links_id 는 브라우즈에서 접근이 가능한 "story_fbid={id}" 입니다.
문제는 PHP에서 10자리를 초과하는 값을 float로 자동변환해 버린다는 문제입니다. 결과값을 그대로 DB에 저장을 해 버리면 값이 제대로(?) 저장이 되는거 같은데 가끔 그것도 아닌거 같더군요.
현재 facebook API lib 는 facebook에서 제공하는 lib를 사용하는 관계로 결과값을 json으로 받아서 json_decode를 사용해서 연관배열로 변환한 값입니다.
PHP 5.3 버전 이상에서는 json_decode에서 BIGINT 이상일 경우 STRING형태로 반환하는 기능이 있으나 서비스중인 PHP 버전이 그 이하 버전이므로 패스~
class lib로 제공되는 Services_json 을 확인해보니 BIGINT에 대한 기능은 없었습니다.
facebook 결과값을 (string)$fb['id'], srtval($fb['id']) 형태로 변환할 경우 앞에서 12자리까지만 제대로 반환되고 나머지 3자리는 0을 반환해서 사용불가.
그외 php 변수 크기의 한계를 넘는 듯 합니다. 에서 정보를 얻어
위 2가지 lib를 확인했지만 이미 결과로 넘어온 값을 PHP에서 제대로 뽑아 낼수 없었습니다.
그래서 임시로 number_format기능을 사용해서 원하는 값을 얻어 냈습니다.
[code php]
/*
$fb = $this->db->api(
'/me/feed',
'post',
Array(
'message' => 'message'
)
);
if(isset($fb['db'])) $id = $fb['id'];
*/
$fb = $this->fb->api(
'/me/links',
'post',
Array(
'message' => 'message',
'link' => 'url'
)
);
/**
* TODO :
* /me/link 결과 $fb['id'] 값은 {links_id} 15자리 숫자 형식.
* PHP에서 제공하는 정수 숫자 자리수는 10자리.
* 현재 임시로 제공한 number_format는 17자리(12345678901234567)까지는 정확한 값을 리턴.
* number_format(999999999999999999) => 9,999,999,999,999,999,xxx,xxxx
* 5.3 이상에서 json_decode 에서 BIGINT를 STRING으로 반환하는 기능이 추가되었으나 현재 현재서비스중인 PHP는 5.3 미만 버전.
*/
if(isset($fb['db'])) $id = mem('fb_id').'_'.str_replace(',', '', number_format($fb['id']) );
[/code]
얼마동안은 문제가 없겠지만 결국은 json_decode 시 BIGINT이상의 값을 STRING으로 변환해서 반환하는 기능으로 변경되어야 할것 같습니다.
number_format 에서 어느정도의 숫자를 커버하는지 궁금하군요. 특정숫자에서는 15자리까지 확인했지만 이것도 문제네요
2010.11.18
웃기게도 ip2long 에서 해결방법이 있는거 같네요.
PHP ip2loing
[code php]
$dottedFormatAddress = '127.0.0.1';
$ipv4address = sprintf("%u", ip2long($dottedFormatAddress));
[/code]
위 예제에서 사용한 sprintf("%u", $int); 형식으로 반환이 가능할거 같긴 하네요.
일단은 테스트를 해봐야 겠습니다.
웃기게도 ip2long 에서 해결방법이 있는거 같네요.
PHP ip2loing
[code php]
$dottedFormatAddress = '127.0.0.1';
$ipv4address = sprintf("%u", ip2long($dottedFormatAddress));
[/code]
위 예제에서 사용한 sprintf("%u", $int); 형식으로 반환이 가능할거 같긴 하네요.
일단은 테스트를 해봐야 겠습니다.
'IT > Tech' 카테고리의 다른 글
| PHP cURL Multiple Processing (0) | 2010/10/14 |
|---|---|
| curl "SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL" (0) | 2010/09/30 |
| php integer 크기 (0) | 2010/09/28 |
| ubuntu java-jre 설치 (0) | 2010/09/22 |
| php hiphop 컴파일 설치 (0) | 2010/09/20 |
| xampp 에서 curl 설정 (0) | 2010/09/16 |
트랙백
댓글
글
IT/Tech 2010/09/20 08:30php hiphop 컴파일 설치
php hiphop 컴파일 설치
[code bash]
sudo apt-get install git-core
sudo apt-get install cmake
export CMAKE_PREFIX_PATH=/home/user
mkdir dev
cd dev
git clone git://github.com/facebook/hiphop-php.git
cd hiphop-php
git submodule init
git submodule update
export HPHP_HOME=`pwd`
export HPHP_LIB=`pwd`/bin
cmake .
make
[/code]
sudo apt-get install git-core
sudo apt-get install cmake
export CMAKE_PREFIX_PATH=/home/user
mkdir dev
cd dev
git clone git://github.com/facebook/hiphop-php.git
cd hiphop-php
git submodule init
git submodule update
export HPHP_HOME=`pwd`
export HPHP_LIB=`pwd`/bin
cmake .
make
[/code]
이런 관련 모듈을 모두 깔아야 한다. 헉~!!
'IT > Tech' 카테고리의 다른 글
| php integer 크기 (0) | 2010/09/28 |
|---|---|
| ubuntu java-jre 설치 (0) | 2010/09/22 |
| php hiphop 컴파일 설치 (0) | 2010/09/20 |
| xampp 에서 curl 설정 (0) | 2010/09/16 |
| 가상호스트 mod_rewrite 및 gzip 설정 (0) | 2010/09/14 |
| p3p (0) | 2010/09/13 |
트랙백
댓글
글
IT/SNS 2010/09/15 08:30lampp mysql 원격접속 문제
XAMPP for Linux 1.7.3.a 에서 php 설정에서 IP로 mysql 원격접속이 되지 않는 문제가 발생.
검색 :
문제 :
mysqli_connect 연결
Warning: mysqli_connect() [function.mysqli-connect]: OK packet 6 bytes shorter than expected in /home/uncaose/workspace/pickup.kr/test.php on line 3
Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2000): mysqlnd cannot connect to MySQL 4.1+ using old authentication in /home/uncaose/workspace/pickup.kr/test.php on line 3
mysql_connect 연결
Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected in /home/uncaose/workspace/pickup.kr/test.php on line 3
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using old authentication in /home/uncaose/workspace/pickup.kr/test.php on line 3
Warning: mysqli_connect() [function.mysqli-connect]: OK packet 6 bytes shorter than expected in /home/uncaose/workspace/pickup.kr/test.php on line 3
Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2000): mysqlnd cannot connect to MySQL 4.1+ using old authentication in /home/uncaose/workspace/pickup.kr/test.php on line 3
mysql_connect 연결
Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected in /home/uncaose/workspace/pickup.kr/test.php on line 3
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using old authentication in /home/uncaose/workspace/pickup.kr/test.php on line 3
검색 :
- mysql 원격접속이 안될 때my.conf 수정 bind-address = 61.250.92.162 => 하지만 xampp에서는 아래 설정이 아예 없음
- 구글검색
mysql 버전에 따른 auth정책변경에 따른 문제.
mysql 버전을 맞추면 해결되는 문제.
서비스중인 mysql 은 5.0.9 log 버전, 테스트로 사용한 mysql 은 5.1.4 이니 테스트를 서비스중인 mysql 버전과 맞게 변경이 필요한것 같음. ㅡ.ㅡa
서비스중인 mysql 은 5.0.9 log 버전, 테스트로 사용한 mysql 은 5.1.4 이니 테스트를 서비스중인 mysql 버전과 맞게 변경이 필요한것 같음. ㅡ.ㅡa
'IT > SNS' 카테고리의 다른 글
| face to facebook (0) | 2011/02/09 |
|---|---|
| lampp mysql 원격접속 문제 (0) | 2010/09/15 |
| 이메일/페이스북/트위터 그리고 마케팅 (0) | 2010/08/01 |
| 트위터 어여쁜 아가씨들을 찾으시나요? (0) | 2010/07/28 |
| 소셜 미디어/네트워크 현재와 과거 미래의 차이점은 무엇일까를 고민하면? (0) | 2010/07/13 |
| 소셜미디어를 표현하는 10가지 괜찮은 이미지 (0) | 2010/07/07 |
트랙백
댓글
글
IT/Tech 2010/09/08 08:30Perl, Python 및 PHP를 위한 Eclipse 개발 환경 빌드하기
'IT > Tech' 카테고리의 다른 글
| 가상호스트 mod_rewrite 및 gzip 설정 (0) | 2010/09/14 |
|---|---|
| p3p (0) | 2010/09/13 |
| Perl, Python 및 PHP를 위한 Eclipse 개발 환경 빌드하기 (0) | 2010/09/08 |
| 아파치 특정 IP 차단 및 허용 (0) | 2010/09/07 |
| apache httpd.conf 설정파일 (0) | 2010/09/03 |
| php type check (0) | 2010/08/27 |
트랙백
댓글
글
IT/Tech 2010/08/27 08:30php type check
PHP 변수타입을 확인하는 명령어로 gettype 이 있습니다.
저도 javascript에서 typeof를 많이 쓰긴하지만 PHP에서 gettype은 좀처럼 쓰지 않다가(아예 쓰지 않았었죠) 최근에 typeof로 검색을 하니 PHP에도 gettype이라는 변수 type을 확인하는 명령어가 있더군요.
하지만 gettype은 자료형을 스트링으로 검사하기 때문에 속도가 느리다고 합니다.
[code php]
/* gettype이 반환하는 문자열
"boolean"
"integer"
"double" (역사적인 이유로 float의 경우에도 단순히 "float"가 아닌 "double"을 반환합니다)
"string"
"array"
"object"
"resource"
"NULL"
"unknown type"
*/
$val = "";
$type = gettype($val);
[/code]
php.net 에서 제안하는 is_* 함수를 사용하는 방법
[code php]
/*
settype() - 변수의 자료형을 설정
is_array() - 변수가 배열인지 확인
is_bool() - 변수가 논리형인지 확인
is_float() - 변수의 자료형이 소수인지 확인합니다
is_int() - 변수의 자료형이 정수인지 확인합니다
is_null() - 변수가 NULL인지 확인합니다
is_numeric() - 변수가 수나 수 문자열인지 확인합니다
is_object() - 변수가 객체인지 확인합니다
is_resource() - 변수가 자원인지 확인
is_scalar() - 변수가 스칼라인지 확인
is_string() - 변수의 자료형이 문자열인지 확인합니다
function_exists() - Return TRUE if the given function has been defined
method_exists() - 클래스 메쏘드가 존재하는지 확인
*/
/**
* 변수 타입을 반환한다.
*
* @param unknown_type $var
* @return str variable type
*/
function typeof($var){
switch(TRUE){
case(is_bool($var)): return 'boolean';break;
case(is_int($var)): return 'integer'; break;
case(is_numeric($var)): return 'number'; break;
case(is_float($var)): return 'float'; break;
case(is_string($var)): return 'string'; break;
case(is_array($var)): return 'array'; break;
case(is_scalar($var)): return 'scalar'; break;
case(is_object($var)): return 'object'; break;
case(is_resource($var)):return 'resource'; break;
case(is_null($var)): return 'NULL'; break;
default: return 'unknown type'; break;
}
}
[/code]
PHP Variable handling 함수 목록
gettype()을 어떤 자료형인지 시험하기 위해 사용하지 마십시오. 반환 문자열은 앞으로 나올 버전에서 바뀔 수 있습니다. 또한, 문자열 비교를 수행하기 때문에 느립니다.
대신, is_* 함수를 사용하십시오.php.net : gettype
[code php]
/* gettype이 반환하는 문자열
"boolean"
"integer"
"double" (역사적인 이유로 float의 경우에도 단순히 "float"가 아닌 "double"을 반환합니다)
"string"
"array"
"object"
"resource"
"NULL"
"unknown type"
*/
$val = "";
$type = gettype($val);
[/code]
php.net 에서 제안하는 is_* 함수를 사용하는 방법
[code php]
/*
settype() - 변수의 자료형을 설정
is_array() - 변수가 배열인지 확인
is_bool() - 변수가 논리형인지 확인
is_float() - 변수의 자료형이 소수인지 확인합니다
is_int() - 변수의 자료형이 정수인지 확인합니다
is_null() - 변수가 NULL인지 확인합니다
is_numeric() - 변수가 수나 수 문자열인지 확인합니다
is_object() - 변수가 객체인지 확인합니다
is_resource() - 변수가 자원인지 확인
is_scalar() - 변수가 스칼라인지 확인
is_string() - 변수의 자료형이 문자열인지 확인합니다
function_exists() - Return TRUE if the given function has been defined
method_exists() - 클래스 메쏘드가 존재하는지 확인
*/
/**
* 변수 타입을 반환한다.
*
* @param unknown_type $var
* @return str variable type
*/
function typeof($var){
switch(TRUE){
case(is_bool($var)): return 'boolean';break;
case(is_int($var)): return 'integer'; break;
case(is_numeric($var)): return 'number'; break;
case(is_float($var)): return 'float'; break;
case(is_string($var)): return 'string'; break;
case(is_array($var)): return 'array'; break;
case(is_scalar($var)): return 'scalar'; break;
case(is_object($var)): return 'object'; break;
case(is_resource($var)):return 'resource'; break;
case(is_null($var)): return 'NULL'; break;
default: return 'unknown type'; break;
}
}
[/code]
PHP Variable handling 함수 목록
'IT > Tech' 카테고리의 다른 글
| 아파치 특정 IP 차단 및 허용 (0) | 2010/09/07 |
|---|---|
| apache httpd.conf 설정파일 (0) | 2010/09/03 |
| php type check (0) | 2010/08/27 |
| facebook API & Session 죽이기 (0) | 2010/08/26 |
| mod_rewrite 설정 (0) | 2010/08/16 |
| apt-get install sendmail (0) | 2010/08/07 |
트랙백
댓글
글
IT/Tech 2010/08/06 14:41PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
구글검색 : PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
Gallery-하나둘셋넷...너에게로 : PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
[code bash]
sudo vi /etc/php.ini
[/code]
[code xml]
# memory_limit = 16M
memory_limit = 32M
[/code]
구글검색 : PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
Gallery-하나둘셋넷...너에게로 : PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
[code bash]
sudo vi /etc/php.ini
[/code]
[code xml]
# memory_limit = 16M
memory_limit = 32M
[/code]
'IT > Tech' 카테고리의 다른 글
| mod_rewrite 설정 (0) | 2010/08/16 |
|---|---|
| apt-get install sendmail (0) | 2010/08/07 |
| PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (0) | 2010/08/06 |
| javascript 이미지에 그레이스케일(grayscale) 적용 (0) | 2010/07/31 |
| jQuery가 지원하는 고급 위치 기반 셀렉터 (0) | 2010/07/30 |
| jQuery가 지원하는 기본 CSS 셀렉터 (0) | 2010/07/29 |
트랙백
댓글
글
IT/Tech 2010/05/12 11:52PHP Call-time pass-by-reference has been deprecated in
Warning: Call-time pass-by-reference has been deprecated in 블라블라
검색 : php call-time pass-by-reference
결론은 C 의 포인터처럼 사용할수 있는 & 을 사용할수 있는 설정을 변경하거나 &을 사용하지 않거나 입니다.
검색 : php call-time pass-by-reference
PHP 상위버전에서 Call-time pass-by-reference 문법을 지원하지 않아서 발생하는 현상
php.ini 에서 allow_call_time_pass_reference 값을 On 으로 설정 (default Off)참고 : http://kimshine.tistory.com/180 (꿈을향한 첫걸음)
함수를 호출할 때에 &를 쓰지 않도록 해야하고 (deprecate되었으므로), 위와 같이 함수 선언을 해놓았기때문에 &를 쓰지 않아도 됩니다.
요새 대부분의 배포판은 allow_call_time_pass_reference = Off 입니다.네이버 개발자 센터 :Call-time pass-by-reference 오류 (wkpark)
결론은 C 의 포인터처럼 사용할수 있는 & 을 사용할수 있는 설정을 변경하거나 &을 사용하지 않거나 입니다.
On 으로 설정해도 저런 defrecate 에러 문구가 나오는 경우가 있습니다.
원인은 ... 에궁
해결은 헤더에 에러설정에서 참조관련 에러문구를 제회하면 됩니다.
원인은 ... 에궁
해결은 헤더에 에러설정에서 참조관련 에러문구를 제회하면 됩니다.
'IT > Tech' 카테고리의 다른 글
| 홈서버구축 WPI 다락방서버 (0) | 2010/06/02 |
|---|---|
| Vbox 3.18 소스리스트 추가 (0) | 2010/05/27 |
| PHP Call-time pass-by-reference has been deprecated in (0) | 2010/05/12 |
| shell 에서 euc-kr 파일을 utf-8 파일로 변경 (0) | 2010/05/11 |
| 한국 우분투 저장소 추가 (0) | 2010/05/05 |
| 리눅스 특정사용자 강제 로그아웃 시키기 (0) | 2010/05/04 |
트랙백
댓글
글
IT/Tech 2010/02/19 19:48me2day api PHP
me2day api
me2day api를 사용해서 서비스를 개발해야 된다. 으윽 머리아파
일단 관련 자료를 URL로 정리해보겠습니다.

미투데이
미투데이 APP
me2day api를 사용해서 서비스를 개발해야 된다. 으윽 머리아파
일단 관련 자료를 URL로 정리해보겠습니다.

이미지출처 : ayukawa.80port.net
미투데이
미투데이 APP
me2py 공개 (python module for me2day open API)
me2day php API 소스
위의 자료를 바탕으로 테스트를 위한 코드를 만들었습니다.
[code php]
class Me2api {
public $user_id = null;
public $user_key = null;
public $format = 'xml';
private $api_url = 'http://me2day.net:80';
private $application_key = '';
public function Me2api(){
}
public function _getNonce(){
$nonce = '';
for($i=0; $i<8; $i++) $nonce .= dechex(mt_rand(0,15));
//for($i=0; $i<8; $i++) $nonce .= dechex(rand(0,15));
return $nonce;
}
public function _getAuthKey(){
$nonce = $this->_getNonce();
return $nonce.md5($nonce.$this->user_key);
}
public function _getPath($method, $user_id=nll){
return ($user_id)?
sprintf('/api/%s.'.$this->format, $method):
sprintf('/api/%s/%s.'.$this->format, $method, $this->user_id);
}
public function _get_me2day($method, $user_id=null, $params=null){
$url = $this->api_url.$this->_getPath($method, $user_id);
$auth = base64_encode($this->user_id.':'.$this->_getAuthKey());
$arr_content = array();
if(is_array($params) && count($params)) {
foreach($params as $key => $val) {
$arr_content[] = sprintf('%s=%s', $key, urlencode($val));
}
$body = implode('&',$arr_content);
}
$url .= '?'.$body;
$file = fopen ($url, "r");
if (!$file) {
echo "<p>Unable to open remote file.\n";
exit;
}
$buff = '';
while (!feof ($file)) $buff .= fgets ($file, 1024);
fclose($file);
return $buff;
}
}
class me2{
public $var = Array(
'user_id' => null;
'user_key' => null;
);
public function m2(){
$this->var = (object)$this->var;
$me2api = new Me2api;
$content = $this->me2api->_getContent('get_latests', $this->var->user_id, Array('content_type'=>'document'));
print_r($content);
}
}
[/code]
일단 코드 전체를 타이핑하기 귀찮아서(텍스트큐브 코드 라이브러리와 글쓰기 에디터 화면은 같이 사용하기가...) 이만큼만 적고 담에 또 추가 하겠습니다.
볼만한건 없지만... 되도록 하루에 하나씩 포스팅을 하기 위해서 노력중입니다. ^^
me2day php API 소스
위의 자료를 바탕으로 테스트를 위한 코드를 만들었습니다.
[code php]
class Me2api {
public $user_id = null;
public $user_key = null;
public $format = 'xml';
private $api_url = 'http://me2day.net:80';
private $application_key = '';
public function Me2api(){
}
public function _getNonce(){
$nonce = '';
for($i=0; $i<8; $i++) $nonce .= dechex(mt_rand(0,15));
//for($i=0; $i<8; $i++) $nonce .= dechex(rand(0,15));
return $nonce;
}
public function _getAuthKey(){
$nonce = $this->_getNonce();
return $nonce.md5($nonce.$this->user_key);
}
public function _getPath($method, $user_id=nll){
return ($user_id)?
sprintf('/api/%s.'.$this->format, $method):
sprintf('/api/%s/%s.'.$this->format, $method, $this->user_id);
}
public function _get_me2day($method, $user_id=null, $params=null){
$url = $this->api_url.$this->_getPath($method, $user_id);
$auth = base64_encode($this->user_id.':'.$this->_getAuthKey());
$arr_content = array();
if(is_array($params) && count($params)) {
foreach($params as $key => $val) {
$arr_content[] = sprintf('%s=%s', $key, urlencode($val));
}
$body = implode('&',$arr_content);
}
$url .= '?'.$body;
$file = fopen ($url, "r");
if (!$file) {
echo "<p>Unable to open remote file.\n";
exit;
}
$buff = '';
while (!feof ($file)) $buff .= fgets ($file, 1024);
fclose($file);
return $buff;
}
}
class me2{
public $var = Array(
'user_id' => null;
'user_key' => null;
);
public function m2(){
$this->var = (object)$this->var;
$me2api = new Me2api;
$content = $this->me2api->_getContent('get_latests', $this->var->user_id, Array('content_type'=>'document'));
print_r($content);
}
}
[/code]
일단 코드 전체를 타이핑하기 귀찮아서(텍스트큐브 코드 라이브러리와 글쓰기 에디터 화면은 같이 사용하기가...) 이만큼만 적고 담에 또 추가 하겠습니다.
볼만한건 없지만... 되도록 하루에 하나씩 포스팅을 하기 위해서 노력중입니다. ^^
'IT > Tech' 카테고리의 다른 글
| naver.com 나눔글꼴 설치 (0) | 2010/04/02 |
|---|---|
| javascript object 값 출력 (2) | 2010/03/10 |
| me2day api PHP (7) | 2010/02/19 |
| PHP 성능튜닝 IF & Switch 문법 (0) | 2010/01/28 |
| 프로그램에서 메일수신확인 방법 (0) | 2010/01/04 |
| mypicup textcube용 위젯 스크립트 (0) | 2009/12/30 |
RECENT COMMENT