みなさまお世話になっております。
###前提・実現したいこと
JPG、pdfなどのファイルをmove_uploaded_fileでアップロードするプログラムを作っているのですが、本番環境でのみ動きません。
最終的には/var/tmpディレクトリから/home/user/tmpに移動したい。
###発生している問題・エラーメッセージ
[Wed Jun 28 16:37:27 2017] [error] [client ***.***.***.***] PHP Warning: move_uploaded_file(): Unable to move '/var/tmp/phpBI6233' to '/home/tmp/kaeru/frog-32568_1280.png' in /var/www/html/drop_zone_upload.php on line 23, referer: http://***.***.***.***/ddupload.php
###該当のソースコード
<?php if (!empty($_FILES)) {//アップロードファイルがある時の処理 $tempFile = $_FILES['file']['tmp_name']; if(!file_exists($uploaddir)){//アップロードディレクトリの存在確認 mkdir($uploaddir, 0700); } $tmpdir = '/home/tmp/' . $udata['uid']; $_SESSION['tempdir'] = $tmpdir; $targetFile = $tmpdir . '/' . $_FILES['file']['name']; $_SESSION['targetfile'] = $targetFile; //ここでエラーになる move_uploaded_file($tempFile,$targetFile); } ?>
###試したこと
・ディレクトリのパーミッションを0777にする
・ACLにapacheを追加する
###補足情報(言語/FW/ツール等のバージョンなど)
・php 7.0.19
・CentOS6.8
ローカル開発環境、本番環境ともに同じバージョンです。
ローカル開発環境はVMに構築しています。
なぜ本番環境でのみエラーが発生するかわからず、困っているのでよろしくお願いいたします。
回答5件