Amazon EC2 でのサムネイル画像の生成に問題があります。
ローカル マシンでは問題なく動作しますが、Amazon EC2 にデプロイするとエラーが発生します
エラー/警告は、サムネイルを Amazon S3 にアップロードしようとしたときに発生し、元の画像は問題なくアップロードされます。
Severity: User Warning
Message: S3::inputFile(): Unable to open input file: /tmp/file_name_thumb.jpg
Filename: libraries/S3.php
Line Number: 263
私のコントローラーのコードは
//This is the config for first image
$config['upload_path'] = sys_get_temp_dir(); // I tried switching this to '/tmp';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = '500';
$config['max_width'] = '0';
$config['max_height'] = '0';
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
$this->load->library('image_lib');
//Then I do upload
$data = array('upload_data' => $this->upload->data());
// 2nd Config for resize
$config = array(
'source_image' => $data['upload_data']['full_path'], //path of the uploaded image
'new_image' => sys_get_temp_dir(), //path to target resize, I tried switching this to '/tmp' also ;
'create_thumb' => true,
'maintain_ratio' => true,
'width' => 300,
'height' => 300,
'master_dim' => 'width',);
$this->image_lib->initialize($config);
$this->image_lib->resize();
// Get the path of thumbnail
$fileTempThumbName = sys_get_temp_dir().'/'.$data['upload_data']['raw_name'].'_thumb'.$data['upload_data']['file_ext']; // I also tried replacing the sys_get_temp_dir() with '/tmp'.
$fileTempThumbName は、私が入れたパラメータです
$this->s3->putObject($this->s3->inputFile($fileTempThumbName, false),$bucket,$name,$array(),$array())
私のローカルは、XAMPP と PHP バージョン 5.3.1 を使用して OSX 10.8.2 で実行されています。私の CodeIgniter は、Amazon S3 PHP クラス 0.4.0を使用してバージョン 2.1.3 です。
また、Amazon EC2 インスタンスの tmp フォルダーを chmod 777 しました。
tmpフォルダーを確認したところ、サイズ変更された画像がありません。
前もって感謝します。