2017-02-28 1 views
0

PHP 스크립트를 사용하여 사진 (특히 표지 이미지)을 업로드하려고하는데 "열리지 못했습니다 : 권한이 거부되었습니다" 오류. 우분투 VM을 통해이 작업을 수행하고 있으므로 필요한 권한을 변경할 수 있어야합니다.로컬 호스트에 사진을 업로드 할 수 없습니다. PHP - 허가가 거부되었습니다.

여기 내 PHP 코드입니다 :

if (!empty($cover)) 
     { 
      if ((($cover_type == 'image/gif') || ($cover_type == 'image/jpeg') || ($cover_type == 'image/pjpeg') || 
       ($cover_type == 'image/png')) && ($cover_size > 0) && ($cover_size <= MAXFILESIZE) && 
       ($cover_width <= MAXIMGWIDTH) && ($cover_height <= MAXIMGHEIGHT)) 
      { 
       if ($_FILES['cover']['error'] == 0) 
       { 
         // Move the file to the target upload folder 
         $target = UPLOADPATH . basename($cover); 
         if (move_uploaded_file($_FILES['cover']['tmp_name'], $target)) 
         { 
         } 

UPLOADPATH = 이미지/

내 php.ini 파일 :

upload_tmp_dir = /var/www/html/my_site/tmp_file_upload/ 

내 apache2.conf의 파일 :

<Directory /var/www/html/my_site/tmp_file_upload/ 
    Options -Indexes 
    AllowOverride None 
    Require all granted 
</Directory> 

<Directory /var/www/html/my_site/images/> 
    Options -Indexes 
</Directory> 

나는 tmp_file_upload 디렉토리를 소유하고있다. tory 및 images 디렉토리에 모두 쓰기 권한이 있습니다. 이 사이트에는 몇 가지 다른 비슷한 질문이 있는데, php.ini 파일과 apache2.conf 파일을 보았습니다.하지만 이미지를 추가 할 수없는 이유는 무엇입니까? 아파치는 터미널 유형의 그것에

쓰기 수 있도록

+1

이 디렉토리를 소유해야하는 것은 당신이 아닙니다. 아파치 사용자는 소유자 여야합니다. – icecub

답변

2

당신은 폴더의 소유권을 설정해야

www가 데이터가 아파치의 일반 사용자 및 그룹이다
sudo chown www-data:www-data /var/www/html/my_site/tmp_file_upload/ 

+0

simular 문제 (및이 사용자에 의해 여기에있는 질문)를 방지하려면'/ var/www/html /' – icecub

+0

좋은 점 @icecub에 대한 재귀 적 chown을 제안하면 -hR 플래그를 사용하여 수행 할 수 있습니다. 'sudo chown -hR www-data : www-data/var/www/html /' – andrew

+0

고마워요! 그게 효과가, 전체 HTML 디렉토리를 변경할 수 없거나, 내가 일하고 있던 파일을 저장할 수 없을 것입니다. – KDBartleby

관련 문제