Nhập tệp xml Wordpress lớn hơn 8mb


7

Tôi đang cố gắng nhập tệp xml (từ chủ đề wordpress trước đó) vào chủ đề wordpress mới. Vấn đề là tệp xml lớn hơn 46mb so với giới hạn 8mb của wordpress. Bất cứ ai có lời khuyên / khuyến nghị về cách nhập tệp này?

Cảm ơn

lời xin lỗi


Nếu bạn có quyền truy cập dòng lệnh, bạn có thể thử WP_CLI.
Welcher

Câu trả lời:


10

TÙY CHỌN 1: Nếu tệp WXR của WordPress, tệp XML được xuất từ ​​WordPress, quá lớn để nhập, có một số điều bạn có thể cố gắng vượt qua giới hạn đó.

  • Tăng dung lượng bộ nhớ mà tập lệnh PHP có thể tiêu thụ. Lưu ý: Nếu sử dụng dịch vụ lưu trữ chia sẻ, bạn có thể cần yêu cầu máy chủ của mình tăng giới hạn.

    Tăng cài đặt giới hạn bộ nhớ trong php.ini (ví dụ: memory_limit = 64M;). Nhiều máy chủ có thể không cho phép điều này.

    Tăng giới hạn bộ nhớ thông qua .htaccess (ví dụ: php_value memory_limit 64M). Nhiều máy chủ có thể không cho phép điều này.

    Tăng giới hạn bộ nhớ thông qua wp-config.php (ví dụ: xác định ('WP_MEMORY_LIMIT', '64MB');)

  • Tăng số lượng tối đa thời gian một tập lệnh PHP sẽ chạy. Lưu ý: Nếu sử dụng dịch vụ lưu trữ chia sẻ, bạn có thể cần yêu cầu máy chủ của mình tăng giới hạn.

    Tăng thời gian thực hiện tối đa trong php.ini (ví dụ: max_execut_time = 600;). Nhiều máy chủ có thể không cho phép điều này.

  • Tăng cài đặt kích thước tệp tải lên PHP. Lưu ý: Nếu sử dụng dịch vụ lưu trữ chia sẻ, bạn có thể cần yêu cầu máy chủ của mình tăng giới hạn.

    Tăng các giá trị cài đặt trong php.ini (ví dụ: upload_max_filesize = 64M; và post_max_size = 64M;). Nhiều máy chủ có thể không cho phép điều này.

    Tăng giá trị cài đặt qua .htaccess (ví dụ: php_value upload_max_filesize 64M và php_value post_max_size = 64M). Nhiều máy chủ có thể không cho phép điều này.

    Tăng giá trị cài đặt thông qua các dòng ini_set trong wp-config.php. Nói chuyện với máy chủ của bạn cho các giá trị chính xác.

  • Tăng giới hạn kích thước tải lên tệp và / hoặc giới hạn không gian tải lên tệp:

    Đăng nhập vào wp-admin với tư cách quản trị viên.

    Trong hộp điều hướng Quản trị viên Trang, nhấp vào "Tùy chọn"

    Cuộn xuống và thay đổi cài đặt cho "Kích thước tệp tải lên tối đa" và / hoặc "Không gian tải lên blog"

  • GZip các tập tin. Trên một số dịch vụ lưu trữ, một tệp được nén có thể được tự động mở rộng trong nền mà không cần WordPress biết sự khác biệt. Điều này có thể cho phép bạn làm cho tệp đủ nhỏ để phù hợp với các ràng buộc kích thước tải lên tối đa.

    Trên Windows, sử dụng 7Zip để tạo tệp lưu trữ gz từ tệp wxr.

    Trên Linux, sử dụng dòng lệnh gzip.

    Đảm bảo rằng tệp kết quả có phần mở rộng tệp là ".gz" trước khi tải lên, vì điều này thường là cần thiết.

    Điều này không được đảm bảo để làm việc, vì nó phụ thuộc nhiều vào cấu hình lưu trữ. Nếu điều này không thành công, sau đó thử phương pháp khác thay thế.

  • Chia tệp WordPress WXR thành các phần nhỏ hơn bằng cách tách dữ liệu giữa các bài đăng và dán tiêu đề / chân trang vào mỗi tệp.

Như mọi khi, trước khi nhập XML mới, hãy sao lưu cơ sở dữ liệu của blog mà bạn đang nhập các tệp XML sang và cũng có thể xuất tệp XML của blog đó để có biện pháp tốt.

FYI, thông tin này có sẵn trong Codex .

TÙY CHỌN 2: Chắc chắn là mạnh mẽ hơn và có thể dễ dàng hơn để sử dụng plugin WP Migrate DB Pro (trả phí). Mặc dù tên, với một tiện ích bổ sung, nó cũng nhập các tệp phương tiện. Cá nhân tôi đã gặp phải tình huống mà không có phương pháp nào ở trên hoạt động - giải pháp duy nhất là sử dụng plugin này.


Xác nhận giải pháp GZip làm việc tuyệt vời cho tôi. Có một tệp 25mb biến thành 2mb và WordPress hoàn toàn hiểu nó.
Tobiah Zarlez

Giải pháp nhập GZip hoạt động với tôi, tuy nhiên phương tiện truyền thông sẽ không tải lên
iamkingsleyf

6

nếu bạn có quyền truy cập vào tệp .htaccess trong thư mục www của bạn. Chỉ cần bao gồm 2 dòng sau trong .htaccess:

php_value upload_max_filesize 50M
php_value post_max_size 50M

Theo cách khác .. bạn có thể đặt đoạn mã này vào tệp tin.php của chủ đề

@ini_set( 'upload_max_size' , '50M' );
@ini_set( 'post_max_size', '50M');

1
.. Một cách tạm thời. Sau khi nhập xong, có lẽ bạn nên khôi phục mức tối đa mặc định.

Tôi không có quyền truy cập vào tệp .htaccess, đề xuất thứ hai dường như có thể đạt được. Nó có nên được đặt ở bất cứ đâu cụ thể trong tệp tin.php không?

yap thử nó và nói nếu nó đã giúp.
codepixlabs

Thật không may @ini_set ('upload_max_size', '50M'); @ini_set ('post_max_size', '50M'); không hoạt động nó trả về một lỗi máy chủ. Bất cứ một đề nghị nào khác? Chắc chắn ai đó đã đi qua điều này trước đây.

Bạn có quyền truy cập vào tập tin php.ini không?
codepixlabs

2

Theo codex , bạn sẽ có thể chia tệp XML thành từng mảnh và nhập chúng một cách riêng biệt. Đây là cách tôi sẽ làm điều đó.

Tệp xuất WordPress XML có định dạng mà họ gọi là WordPress eXtends RSS (WXR) và trông như thế này (một số dòng còn lại):

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
>

<channel>
    <!-- several tags about your blog, including title, link, description, etc. -->

    <wp:author><!-- a list of your post authors here --></wp:author>

    <wp:category><!-- a list of your categories --></wp:category>
    <wp:tag><!-- first tag info --></wp:tag>
    <wp:tag><!-- second tag info, etc. --></wp:tag>

    <generator>http://wordpress.org/?v=3.6</generator>

    <item>
        <!-- first blog post here -->
    </item>

    <item>
        <!-- second blog post here, etc. -->
    </item>
</channel>

Bạn sẽ cần chia phần này thành ít nhất 6 tệp khác nhau để ở dưới giới hạn 8 MB của bạn. Sao chép tệp cho đến khi bạn có 6 hoặc 7 bản sao của tệp. Sau đó, trong mỗi bản sao, loại bỏ một số <item>yếu tố (bài viết) cho đến khi bạn dưới 8 MB. Vì vậy, mỗi tệp sẽ có thông tin giống hệt nhau trong phần đầu tiên của tệp và sẽ chỉ khác nhau trong <item>phần. Đảm bảo bạn không bao gồm cùng một bài đăng trong nhiều tệp, nếu không nó sẽ được nhập hai lần. Sau đó nhập từng tệp, từng tệp một.


1

Có một ứng dụng bạn có thể tải xuống để chia các tệp XML / WXR lớn thành các tệp nhỏ hơn

Hoặc bạn có thể thay đổi giới hạn tải lên và đăng bài trong tệp php.ini của mình trong cPanel.


1

Đây là giải pháp ..... hy vọng bạn sẽ thích

Bạn có thể thay đổi cài đặt đó bằng cách tạo một tệp văn bản đơn giản và đặt nó vào wp-adminthư mục.

Vì vậy, để tạo tập tin này, tất cả những gì bạn phải làm là mở một chương trình văn bản đơn giản như textedit trên Mac hoặc notepad trên Windows và nhập hai dòng mã này.

upload_max_filesize = 64M;
post_max_size = 32M;

Bạn có thể đặt bất kỳ giá trị nào bạn muốn tôi chỉ chọn 64 và 32 vì chúng có vẻ như là những con số tốt. Vì vậy, bây giờ bạn chỉ cần lưu tệp và đặt tên cho nó php.ini, chương trình sẽ hỏi bạn nếu bạn muốn sử dụng .initiện ích mở rộng, nhấp vào sử dụng .inivà lưu. Bây giờ tất cả những gì còn lại phải làm là tải tệp lên máy chủ của bạn và đặt nó vào wp-adminthư mục "", bất cứ nơi nào trong phần gốc của thư mục đều ổn.

Bây giờ hãy đăng nhập vào bảng điều khiển WordPress của bạn và thử và tải lên một cái gì đó lớn. Nó không nên cung cấp cho bạn bất kỳ vấn đề và tải lên bất cứ điều gì bạn muốn!


1

tất cả những gì bạn cần là plugin này

Tăng kích thước tập tin tải lên tối đa

Tải xuống và cài đặt từ wordpress.org

nhập giá trị (tối đa 250mb) theo byte và tận hưởng.

Tuy nhiên, nếu bạn đang tải lên một tệp lớn, bạn có thể cần phải cài đặt plugin bộ nhớ hoặc tăng thời gian thực hiện thủ công


Vui lòng chỉnh sửa câu hỏi của bạn để cung cấp một liên kết đến plugin bạn đang đề xuất. Cũng lưu ý rằng plugin này sẽ không hoạt động nếu nhà cung cấp dịch vụ lưu trữ của bạn không cho phép bạn tăng upload_max_filesize(và có thể memory_limit) giá trị của PHP .
Pat J

Đây là liên kết, nhưng bạn cũng có thể chỉ cần tìm kiếm trong phần Thêm Plugin: wordpress.org/plugins/upload-max-file-size
tmarkiewicz

1

Nếu nó có sẵn cho bạn, WP-CLI cung cấp lệnh nhập , đây là cách tốt nhất để nhập các tệp WXR lớn. Nó cũng cung cấp một lệnh xuất cho phép bạn xuất các tệp WXR và nó sẽ chia chúng thành kích thước tệp bạn chỉ định.


0

Tôi đã thử phương pháp này của Gaia và nó không có vấn đề gì với Gia

GZip các tập tin. Trên một số dịch vụ lưu trữ, một tệp được nén có thể được tự động mở rộng trong nền mà không cần WordPress biết sự khác biệt. Điều này có thể cho phép bạn làm cho tệp đủ nhỏ để phù hợp với các ràng buộc kích thước tải lên tối đa.

Trên Windows, sử dụng 7Zip để tạo tệp lưu trữ gz từ tệp wxr.

Trên Linux, sử dụng dòng lệnh gzip.

Đảm bảo rằng tệp kết quả có phần mở rộng tệp là ".gz" trước khi tải lên, vì điều này thường là cần thiết.

Điều này không được đảm bảo để làm việc, vì nó phụ thuộc nhiều vào cấu hình lưu trữ. Nếu điều này không thành công, sau đó thử phương pháp khác thay thế.

• Chia tệp WordPress WXR thành các phần nhỏ hơn bằng cách tách dữ liệu giữa các bài đăng và dán tiêu đề / chân trang vào mỗi tệp.


0

Tôi luôn thấy cách đơn giản nhất là chỉnh sửa tệp user.ini trong thư mục gốc của bản cài đặt WP hoặc thêm một tệp.

Các plugin như WordFence và các plugin khác cần hoạt động trên cài đặt hệ thống, thường sẽ làm điều đó vì nó hoạt động tốt với WordPress và một số hệ thống.

Chỉnh sửa hoặc tạo tệp user.ini trong thư mục gốc WP, sao chép / dán mã bên dưới và lưu nó. Nếu bạn đang sử dụng bất kỳ loại bộ nhớ đệm nào, hãy xóa chúng, sau đó làm mới trang bạn đang tải lên.

Trong cài đặt WP của tôi, bộ nhớ được đặt thành 64M và tôi giới hạn kích thước tệp ở mức 5M. Thay đổi cả hai upload_max_filesizepost_max_sizethành một cái gì đó lớn hơn tệp bạn đang tải lên.

; Memory and file sizes
memory_limit = 64M
upload_max_filesize = 5M
post_max_size = 5M
file_uploads = On
max_execution_time = 300
; End Upload Restrictions

0

Tôi đã cố gắng wpclivì đó là dòng lệnh, nhiều thứ cũng được xử lý.

Kích thước tệp XML của tôi là khoảng 10 MB.

Trong wp-config.php

set_time_limit( 86400 );
define('WP_CACHE', false);
define('WP_MEMORY_LIMIT', '1G');
define('WP_MAX_MEMORY_LIMIT', '1G');

Ví dụ về wpcli

$ wp import example.wordpress.2016-06-21.xml --authors=skip
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.