Một điều quan trọng mà bạn nên biết là cách kiểm tra xem có bất kỳ lỗi nào trong quá trình trích xuất các tệp đã tải lên từ một yêu cầu HTTP hay không. Nếu xảy ra lỗi, PHP sẽ đặt mã lỗi, mã này có thể được truy xuất bằng cách sử dụng dòng tập lệnh sau [ở đây chúng tôi giả sử rằng thuộc tính tên của phần tử là myFile]
$errorCode = $_FILES['myFile']['error'];
Nếu mọi thứ hoạt động tốt, giá trị của $errorCode sẽ bằng hằng số UPLOAD_ERR_OK. Nếu có lỗi, giá trị của $errorCode sẽ bằng một trong các hằng sau
3. 3. 1. Mã lỗi UPLOAD_ERR_INI_SIZE
Mã lỗi UPLOAD_ERR_INI_SIZE có nghĩa là kích thước của tệp đã tải lên lớn hơn giá trị được chỉ định bởi chỉ thị upload_max_filesize
3. 3. 2. UPLOAD_ERR_FORM_SIZE Mã Lỗi [Sử dụng với Trường Biểu mẫu MAX_FILE_SIZE]
Mã lỗi UPLOAD_ERR_FORM_SIZE không bao giờ xuất hiện nếu không có trường ẩn MAX_FILE_SIZE trong biểu mẫu HTML/XHTML có chứa phần tử
Trường ẩn MAX_FILE_SIZE được sử dụng như thế này
Trong mã HTML/XHTML ở trên, trường biểu mẫu MAX_FILE_SIZE cho biết tệp được tải lên không được lớn hơn 1048576 byte. Nếu trình duyệt hỗ trợ trường biểu mẫu này, nó sẽ không cho phép người dùng chọn tệp lớn hơn 1048576 byte. Vì vậy, người dùng không phải đợi một tệp tải lên máy chủ để tìm hiểu xem nó có quá lớn hay không. Tuy nhiên, tại thời điểm viết bài, chúng tôi không thể tìm thấy bất kỳ trình duyệt WAP nào hỗ trợ trường biểu mẫu MAX_FILE_SIZE. Ngoài ra, cả IE 6 và Firefox 2. 0 không hiểu trường biểu mẫu này
Bất kể trình duyệt web / WAP có hiểu trường biểu mẫu MAX_FILE_SIZE hay không, nếu công cụ PHP nhận thấy rằng kích thước của tệp được tải lên lớn hơn giá trị được chỉ định bởi trường biểu mẫu MAX_FILE_SIZE, nó sẽ đưa ra mã lỗi UPLOAD_ERR_FORM_SIZE
Điều quan trọng cần lưu ý là giá trị trường MAX_FILE_SIZE có thể dễ dàng sửa đổi ở phía máy khách. Vì vậy, trường biểu mẫu MAX_FILE_SIZE không phải là cách đáng tin cậy để hạn chế kích thước của tệp đã tải lên. Cách tốt hơn là sử dụng chỉ thị upload_max_filesize, được đề cập trong "Các chỉ thị PHP liên quan đến tải lên tệp [lớn]" của hướng dẫn này
Lưu ý rằng phần tử phải được đặt sau trường biểu mẫu MAX_FILE_SIZE
3. 3. 3. UPLOAD_ERR_PARTIAL Mã lỗi
Mã lỗi UPLOAD_ERR_PARTIAL có nghĩa là máy chủ chỉ nhận được một phần của tệp đã tải lên
3. 3. 4. Mã lỗi UPLOAD_ERR_NO_FILE
Mã lỗi UPLOAD_ERR_NO_FILE có nghĩa là yêu cầu HTTP không chứa tệp đã tải lên
3. 3. 5. Mã lỗi UPLOAD_ERR_NO_TMP_DIR
Mã lỗi UPLOAD_ERR_NO_TMP_DIR có nghĩa là không có thư mục tạm thời
3. 3. 6. Mã lỗi UPLOAD_ERR_CANT_WRITE
Mã lỗi UPLOAD_ERR_CANT_WRITE có nghĩa là tệp đã tải lên không thể ghi vào đĩa
Biểu mẫu phản hồi [Mở rộngThu gọn]
Bạn nghĩ gì về trang web này?
[Tùy chọn] Vui lòng cung cấp cho chúng tôi thêm chi tiết. Ví dụ: giả sử bạn chọn tùy chọn 2 ở trên, bạn có thể cho chúng tôi biết cụ thể thông tin nào còn thiếu không?
Cố gắng tải một cái gì đó lên trang web WordPress của bạn chỉ để nhận được thông báo cho biết “tệp đã tải lên vượt quá chỉ thị upload_max_filesize trong php. ini”?
Thông báo lỗi này có thể xuất hiện khi bạn tải lên hình ảnh, video, plugin, chủ đề lớn, bất kỳ loại tệp nào mà bạn tải lên trang web WordPress của mình
Trong bài viết này, chúng tôi sẽ giúp bạn khắc phục sự cố và làm cho nó có thể tải lên các tệp lớn đó. Tổng cộng, chúng tôi sẽ bao gồm
Nguyên nhân khiến tệp tải lên vượt quá chỉ thị upload_max_filesize trong php. ban đầu
Hãy cùng bắt đầu lại từ đầu. Để duy trì tài nguyên máy chủ của bạn, máy chủ đặt giới hạn về kích thước tối đa của tệp có thể được tải lên
Mức tối đa này, tính bằng megabyte, được xác định trong chỉ thị upload_max_filesize
Bản thân chỉ thị upload_max_filesize nằm trong php. ini, là tệp cấu hình máy chủ mặc định cho các ứng dụng yêu cầu PHP
Hai thứ đó – upload_max_filesize và php. ini – là thông báo lỗi mà bạn thấy đang tham chiếu
Xem kế hoạchKinsta chiều chuộng tôi đến mức bây giờ tôi yêu cầu mức độ dịch vụ đó từ mọi nhà cung cấp. Chúng tôi cũng cố gắng đạt được mức đó với sự hỗ trợ của công cụ SaaS
Suganthan Mohanadasan từ @Suganthanmn
Điều quan trọng cần nhớ là giới hạn tải lên này không phải là cài đặt WordPress. Tuy nhiên, bạn có thể thấy giới hạn này trong trang web WordPress của mình nếu bạn truy cập Phương tiện → Thêm mới
Như bạn có thể thấy ở trên, Kinsta đặt giới hạn mặc định là 128 MB, khá lớn và không bao giờ gây ra sự cố. Tuy nhiên, rất nhiều host khác đặt mặc định nhỏ chỉ 2 MB hoặc 4 MB
Điều đó có nghĩa là nếu bạn cố tải lên một tệp lớn hơn giới hạn đó, bạn sẽ thấy thông báo “tệp đã tải lên vượt quá chỉ thị upload_max_filesize trong php. ini” hoặc một thông báo tương tự như “file_name vượt quá kích thước tải lên tối đa cho trang web này. ”
Cách khắc phục file upload vượt quá chỉ thị upload_max_filesize trong php. ban đầu
Để khắc phục lỗi này, bạn cần tăng giới hạn tải lên kích thước tệp. Nghĩa là, bạn cần tăng giá trị của chỉ thị upload_max_filesize trong php của mình. tập tin ini
Có một số cách khác nhau để bạn có thể thực hiện việc này – phương pháp chính xác mà bạn chọn sẽ tùy thuộc vào sở thích và cấu hình máy chủ lưu trữ của bạn
1. Nói chuyện với bộ phận hỗ trợ của máy chủ lưu trữ của bạn
Mặc dù chúng tôi sẽ đề cập đến một số phương pháp mà bạn có thể tự mình thử, nhưng giải pháp đơn giản nhất thường là liên hệ với bộ phận hỗ trợ của chủ nhà và yêu cầu họ tăng giới hạn cho bạn
Đây là một yêu cầu phổ biến, bộ phận hỗ trợ của máy chủ lưu trữ của bạn sẽ biết chính xác những gì bạn muốn và chỉ mất vài phút thời gian của bạn. Đó là lý do tại sao bộ phận hỗ trợ của máy chủ lưu trữ dành cho bạn
Nếu bạn lưu trữ tại Kinsta và cần tăng giới hạn vượt quá giới hạn 128 MB mặc định, bạn có thể liên hệ với bộ phận hỗ trợ trên Intercom từ bất kỳ đâu trong bảng điều khiển Kinsta của bạn
2. chỉnh sửa php. ini qua cPanel
Nếu máy chủ của bạn sử dụng cPanel, bạn sẽ có thể chỉnh sửa php của mình. ini và chỉ thị upload_max_filesize thông qua bảng điều khiển cPanel
Trước tiên, hãy tìm Trình chỉnh sửa MultiPHP INI
Sau đó chọn trang web WordPress của bạn từ trình đơn thả xuống. Sau đó, bạn sẽ có thể chỉnh sửa chỉ thị upload_max_filesize cho trang web đó
Triển khai ứng dụng của bạn lên Kinsta - Bắt đầu với Khoản tín dụng $20 ngay bây giờ
Chạy nút của bạn. js, Python, Go, PHP, Ruby, Java và Scala, [hoặc hầu hết mọi ứng dụng khác nếu bạn sử dụng Dockerfiles tùy chỉnh của riêng mình], trong ba bước đơn giản
Triển khai ngay bây giờ và nhận $20 giảm giáTăng giá trị dựa trên nhu cầu của bạn
3. Tạo hoặc chỉnh sửa php. ini qua FTP
Như bạn đã học ở trên, php. ini kiểm soát cách máy chủ của bạn hoạt động cho các ứng dụng PHP
Thật không may, dựa trên các hạn chế của máy chủ lưu trữ của bạn, bạn có thể hoặc không thể sử dụng php. tập tin ini. Vì lý do đó, một cách tiếp cận đáng tin cậy hơn đôi khi có thể được sử dụng. htaccess [mà chúng tôi sẽ đề cập trong phần tiếp theo]
Tuy nhiên, bạn có thể dùng thử trước để xem bạn có được phép sử dụng php không. ini tại máy chủ của bạn
Để bắt đầu, hãy kết nối với máy chủ của bạn qua FTP và chuyển đến thư mục gốc của trang web của bạn
Nếu bạn đã thấy một php. ini trong thư mục gốc, bạn có thể chỉnh sửa tệp đó. Nếu không, hãy tạo một tệp mới và đặt tên là php. ban đầu
Sau đó thêm hoặc sửa đổi đoạn mã bên dưới
Đấu tranh với thời gian chết và các vấn đề về WordPress? . Kiểm tra các tính năng của chúng tôi
- Nếu bạn đã tạo một tệp mới, hãy dán đoạn mã vào và sửa đổi các số cho phù hợp với nhu cầu của bạn
- Nếu bạn đang chỉnh sửa một tệp hiện có, hãy tìm các lệnh tương tự trong tệp hiện có và sửa đổi các số cho phù hợp với nhu cầu của bạn
upload_max_filesize = 12M
post_max_size = 13M
memory_limit = 15M
Một số máy chủ có thể yêu cầu bạn thêm chỉ thị suPHP vào trang web của bạn. htaccess để những thay đổi ở trên thực sự hoạt động
Để làm điều này, bạn cũng có thể chỉnh sửa. htaccess qua PHP và thêm đoạn mã sau vào gần đầu tệp
suPHP_ConfigPath /home/yourusername/public_html
Đảm bảo thay thế yourusername
bằng đường dẫn tệp thực của trang web của bạn
4. Tăng giá trị upload_max_filesize bằng cách chỉnh sửa. htaccess
Nếu trực tiếp tạo hoặc chỉnh sửa php. ini qua các phương pháp trên không hoạt động, bạn cũng có thể thử sửa đổi chỉ thị upload_max_filesize bằng cách chỉnh sửa trang web của mình. tập tin htaccess
Để bắt đầu, hãy kết nối với trang web của bạn qua FTP và chỉnh sửa. htaccess nằm trong thư mục gốc của trang web của bạn
Sau đó, thêm đoạn mã sau, đảm bảo điều chỉnh các giá trị dựa trên nhu cầu của bạn
php_value upload_max_filesize 12M
php_value post_max_size 13M
php_value memory_limit 15M
Nếu bạn nhận được thông báo lỗi máy chủ nội bộ sau khi thêm đoạn mã này, máy chủ của bạn có thể đang chạy PHP ở chế độ CGI, điều đó có nghĩa là bạn không thể sử dụng các lệnh này trong máy chủ của mình. tập tin htaccess. Xóa đoạn mã bạn vừa thêm và trang web của bạn sẽ bắt đầu hoạt động trở lại
Lưu ý – nếu bạn là khách hàng của Kinsta, Kinsta sử dụng NGINX, nghĩa là trang web của bạn không có. tập tin htaccess. Nếu bạn cần trợ giúp tại Kinsta, chúng tôi khuyên bạn chỉ cần liên hệ với nhóm hỗ trợ của chúng tôi và họ sẽ có thể nhanh chóng giải quyết mọi việc cho bạn
Tóm lược
Để kiểm tra xem các thay đổi của bạn có đang hoạt động hay không, bạn có thể quay lại Phương tiện → Thêm mới trong bảng điều khiển WordPress của mình để xem giới hạn tải lên tối đa mới có khớp với số bạn đã đặt trong tệp php của mình không. tập tin ini. Nếu mọi việc suôn sẻ, bạn sẽ thấy giá trị mới của mình và bạn sẽ có thể tải lên tệp gây ra sự cố cho bạn
Cuối cùng, nếu không có gì bạn đã thử hoạt động và bộ phận hỗ trợ của máy chủ lưu trữ của bạn không thể trợ giúp vì lý do nào đó, bạn luôn có thể tải tệp lên qua FTP như một giải pháp thay thế. FTP không có giới hạn và sẽ cho phép bạn tải lên mọi thứ từ hình ảnh đến plugin và chủ đề. Bạn thậm chí có thể tải lên hàng loạt tệp nếu cần
Nhận tất cả các ứng dụng, cơ sở dữ liệu và trang web WordPress của bạn trực tuyến và dưới một mái nhà. Nền tảng đám mây hiệu suất cao, đầy đủ tính năng của chúng tôi bao gồm
- Dễ dàng thiết lập và quản lý trong bảng điều khiển MyKinsta
- Hỗ trợ chuyên gia 24/7
- Mạng và phần cứng Google Cloud Platform tốt nhất, được cung cấp bởi Kubernetes để có khả năng mở rộng tối đa
- Tích hợp Cloudflare cấp doanh nghiệp cho tốc độ và bảo mật
- Tiếp cận đối tượng toàn cầu với tối đa 35 trung tâm dữ liệu và hơn 275 PoP trên toàn thế giới
Hãy tự kiểm tra với $20 trong tháng đầu tiên của Lưu trữ ứng dụng hoặc Lưu trữ cơ sở dữ liệu. Khám phá kế hoạch của chúng tôi hoặc nói chuyện với bộ phận bán hàng để tìm thấy sự phù hợp nhất của bạn