Linux php가 폴더를 업로드할 수 없는 문제에 대한 해결 방법: 1. 마운트 디렉터리에 upload_tmp 폴더를 만듭니다. 2. "upload_tmp_dir="을 "website/upload_tmp"로 설정합니다. 3. Apache를 다시 시작합니다.
이 문서의 운영 환경: linux5.9.8 시스템, PHP 버전 7.1, DELL G3 컴퓨터
Linux php가 폴더를 업로드할 수 없으면 어떻게 해야 합니까?
php에서 파일을 업로드할 수 없습니다( Linux 서버)
오늘 갑자기 파일을 업로드할 수 없는 걸 발견했습니다. php.ini 구성이 이미 되어 있습니다.
환경: linux (Centos 5.3) + Apache + php +mysql
웹사이트 디렉토리 파일: smb를 사용하세요. Windows 서버의 디스크 배열 공유를 마운트하세요
웹사이트 디렉토리 권한: 777
php.ini:
-------------------------- ---------------------- -----
upload_max_filesize = 200M max_file_uploads = 20 post_max_size = 200M max_execution_time = 60000 max_input_time = 6000 ;max_input_nesting_level = 64 memory_limit = 256M
--------- -------------------------- ----------- --
근데 CMS 시스템에서 권한이 부족하다는 메시지가 계속 표시됩니다. 관련 정보를 살펴본 결과 임시 폴더의 매개변수(업로드된 모든 파일은 php.ini 파일에 특정 사양이 있음을 발견했습니다. 임시 폴더에 있음)
즉:
--------- ---------------- ---
;upload_tmp_dir =
------ ------------- --------
위 내용은 기본적으로 설명되어 있는데, 이는 가상 메모리를 사용한다는 의미입니다. 저장소
메모리가 가득 차면, 파일을 업로드할 수 없는 문제, 즉 777 오류가 발생합니다
df -h 명령을 사용하여 쿼리하면 결과는 다음과 같습니다.
------------ -- ------------------------------------------------ -- ---------
/dev/mapper/VolGroup00-LogVol00 29G 28G 0 100% / /dev/sda1 99M 12M 82M 13% /boot tmpfs 1014M 0 1014M 0% /dev/shm //192.168.1.100/website 322G 21G 301G 7% /www/web/website
--------- --- --------------------- --- -------------
tmpfs가 꽉 차서 마운트 디렉터리에 upload_tmp 폴더를 생성하고 방금 "upload_tmp_dir = "을 " upload_tmp_dir =/www/web로 설정하도록 변경했습니다. /website/upload_tmp
”
저장 후 Apache를 다시 시작하고 업로드를 재개하세요.
참고: 업로드된 디렉터리에 다음 하위 디렉터리를 포함하여 777 권한을 부여합니다. chmod -R 777 디렉터리 이름
요약:
다음 하위 디렉터리를 포함하여 777 권한을 설정하는 것이 가장 좋습니다. 임시 파일을 마운트된 디스크 공간(바람직하게는 더 큰 공간)에 저장합니다. tmpfs의 기본값은 물리적 메모리의 1/2배이고, 몇 개의 파일을 업로드하면 빠르게 채워지므로 파일 업로드에 실패할 수 있습니다. 따라서 다양한 웹사이트 환경을 구성할 때 임시 파일이 저장되는 디렉터리에 주의해야 합니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 Linux PHP가 폴더를 업로드할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!