amazon에서 제공하는 s3 sdk를 사용하여 아마존의 S3 클라우드 서비스에 이미지를 저장하려고합니다. 코드는 실제로 매우 직선입니다. 이것은 내 코드의 호출입니다.Amazon S3 PHP 이미지 저장 curl 오류
include_once "s3/sdk.class.php";
$s3 = new AmazonS3();
$file = $_FILES['userfile']['tmp_name'];
$name = $netid . "_splash.png";
$bucket = 'gw_splash';
$response = $s3->create_object($bucket, $name, array(
'fileUpload' => $file));
그러나이 호출이 문제라고 생각하지 않습니다. 로컬 WAMP 서버에서 코드를 실행하면 모든 것이 잘 동작합니다. 내가 원격 웹 서버로 옮겨서 문제가되는 php5.2와 centOS 5.5를 돌린다. 로그에 다음과 같은 오류가 표시됩니다.
[Thu Mar 24 11:38:57 2011] [error] [client 204.11.231.186] PHP Fatal error: Uncaught exception 'RequestCore_Exception' with message 'cURL resource: Resource id #61;
cURL error: select/poll returned error (55)' in /var/www/admin/system/application/controllers/s3/lib/requestcore/requestcore.class.php:795\nStack trace:\n#0 /var/www/admin/system/application/controllers/s3/services/s3.class.php(703):
RequestCore->send_request()\n#1 /var/www/admin/system/application/controllers/s3/services/s3.class.php(1196):
AmazonS3->authenticate('gw_splash', Array)\n#2 /var/www/admin/system/application/controllers/appdetails.php(224): AmazonS3->create_object('gw_splash', '22182_splash.pn...', Array)\n#3 [internal function]:
Appdetails->do_upload()\n#4 /var/www/admin/system/codeigniter/CodeIgniter.php(236): call_user_func_array(Array, Array)\n#5 /var/www/admin/index.php(115):
require_once('/var/www/admin/...')\n#6 {main}\n thrown in /var/www/admin/system/application/controllers/s3/lib/requestcore/requestcore.class.php on line 795, referer:
http://admin.isites.us/appdetails/?netid=22182&appType=1&appId=62981
Google에서 오류 (55)가 네트워크 오류임을 알립니다. curl이 잘 작동하는 다른 PHP 프로젝트를 실행하고 있으므로 잘 작동하는 것을 알 수 있습니다. 내 확장 디렉토리에 php-curl.so가 있으면 모든 것이 작동 할 것이라고 생각하지만 (php-common은 이미 두 번로드되었다는 경고 외에도) php-common은 이미 패키지되어 있습니다.
정말 리눅스 머신이 아니라 로컬에서 작업하기 때문에 다른 어떤 시도를하지 못했습니다. 나는 amazon이 제공 한 SDK를 통해 PHP 컬을 호출하려고 시도했는지 알기 위해 노력했지만, 아직 운이 없었습니다.
모든 아이디어를 높이 평가하겠습니다!