2010-07-13 5 views

답변

1

APC는 probabaly 가장 쉬운 방법입니다 :

예 :

// new object 
$object = new ClassName('Kieran', 123); 

// Store it 
apc_store('object', $object); 

이 방법을 사용할 수 있습니다

$obj = apc_fetch('object'); 
print_r($obj->method()); 
+0

은 모든 호스팅 서버에서 APC를 사용할 수 있습니다. 설치하거나 다른 작업을해야합니다. –

+0

phpinfo()를 확인하십시오. 설치하지 않는 것이 좋습니다. –

+0

Itrs는 PHP 5.3에서 사용 가능합니다. php.ini에서'apc.dll' 아래에서 활성화시켜야합니다. 존재하지 않으면 http://pecl.php.net/package/apc에서 얻을 수 있습니다. – RobertPitt

1

파일을 저장하고 데이터베이스에 저장하고 공유 메모리에 저장하고 캐시 서버에 저장합니다.

+0

공유 메모리에 저장하고 캐시 서버에 저장하는 것에 대해 설명 할 수 있습니까? –

+0

http://php.net/manual/en/book.shmop.php http://php.net/manual/en/book.memcache.php –

+0

memcached를 사용 중입니다."Memcached는 임의의 데이터 (문자열, 객체)의 작은 덩어리를위한 메모리 내장 키 - 값 저장소입니다." – RobertPitt

1

한 가지 방법은 세션 ID를 키로 사용하여 데이터베이스를 다시 "찾기"위해 직렬화 된 개체 또는 해당 데이터를 데이터베이스에 저장하는 것입니다.

캐시 파일을 사용하여 동일한 작업을 수행 할 수 있습니다.

더 빠른 방법은 memcache과 같은 공유 메모리 캐시를 사용하는 것입니다. 이러한 솔루션은 항상 서버 측 관리와 루트 액세스가 필요합니다.

0

개체를 serialize하고 다음 중 하나에 저장하십시오 (Database, Temp, Memcache).

개체 구성에 따라 __sleep__wake 마법 메서드를 구현하여 개체를 올바르게 전송할 수 있는지 확인하십시오. 당신이 어떤 일을 전송할 수 있습니다 컬을 사용하여

0

... 이것을 시도 ..

http://php.net/manual/en/book.curl.php 
+0

OP가 의미한다고 생각하지 않습니다. 크로스 서버 요청에 의해 누가 어쨌든 HTTP를 통해 객체를 보내려고합니까? – RobertPitt

+0

@RobertPitt : 예를 들어, 먼저 'serialize'합니다. – NikiC

+0

개체는 매우 거대 할 수 있습니다. 전송하기 전에 직렬화 할 수 있다는 것을 알고 있지만 여전히 매우 커질 수 있으며 때때로 Apache HTTP_VARS 최대 허용 숯 등을 무시합니다. 개인적으로 파일을 로컬에 저장하고 임시 파일의 주소를 입력 한 다음 curl을 사용하여 파일을 가져온 다음 서버로 다시 핑하여 삭제하십시오. – RobertPitt

0

가장 쉬운 방법 (세션을 사용 외에)는 APC (대체 PHP 캐시) 사용자 변수로 저장 아마, 이미 opcode 캐싱 목적으로 APC를 설치했을 것입니다. 이 방법으로 두 가지를 하나의 확장자로 사용할 수 있습니다.

APC는 Memcached와 마찬가지로 값을 inmemory에 저장하지만 추가 데몬이 아니기 때문에 설치하는 것이 더 쉽지만 PHP 확장을 사용합니다.

1

다른 스크립트 직렬화()때 unserialize ()

fileA.php :

<?php 
require_once 'employee.class.php'; 
$employee=new employee($id,$firstname,$lastname); 
$serializeemployee=serialize($employee); 
session_start(); 
$_SESSION['employee']=$serializeemployee; 
header('location: ./fileB.php'); 
?> 

fileB.php :

<?php 
session_start(); 
if(isset($_SESSION['employee']) && $_SESSION['employee']) 
{ 
require_once 'employee.class.php'; 
$employee=unserialize($_SESSION['employee']); 
echo $employee->getFirstname(); 
?> 
관련 문제