2014-09-01 17 views
8

Có thể xóa tất cả các trang trong mediawiki không? Tôi đã cố gắng làm rỗng bảng obejctcache không có kết quả. Tôi không đặc biệt muốn nhấn từng trang với ?action=purge được nối thêm. Phiên bản 1.23.3Xóa tất cả các trang trong mediawiki

+0

Stack Overflow là trang web dành cho các câu hỏi lập trình và phát triển. Câu hỏi này dường như không có chủ đề vì nó không phải là về lập trình hay phát triển. Xem [Tôi có thể hỏi những chủ đề gì ở đây] (http://stackoverflow.com/help/on-topic) trong Trung tâm trợ giúp. Có lẽ [Super User] (http://superuser.com/), [Web Apps Stack Exchange] (http://webapps.stackexchange.com/) hoặc [Webmaster Stack Exchange] (http://webmasters.stackexchange.com) /) sẽ là một nơi tốt hơn để hỏi. – jww

+0

@jww sự thật đơn giản là câu hỏi đã hơn một tuổi, chưa đóng và có phiếu bầu và câu trả lời với phiếu bầu sẽ gợi ý cho bạn rằng a) đó là câu hỏi phù hợp hữu ích cho cộng đồng hoặc b) . Và bên cạnh đó, câu hỏi này là về sự phát triển của một trang web mediawiki có liên quan đến lập trình. – user3791372

Trả lời

2

Bạn có thể

  1. Sử dụng các kịch bản bảo dưỡng PurgeList.php như thế này: php purgeList.php --purge --all, cho MW> 1,21. Phiên bản MW cũ hơn không có tùy chọn --all, vì vậy bạn sẽ cần một danh sách các trang.

  2. Sử dụng các API: API:Purge, và ăn nó với một danh sách tất cả các trang (mà bạn có thể nhận được từ API:Allpages)

  3. vô hiệu hóa tất cả lưu trữ bởi setting $wgCacheEpoch to the current time trong LocalSettings.php, ví dụ $wgCacheEpoch = 20140901104232;.

  4. Đặt $wgInvalidateCacheOnLocalSettingsChange (từ MW 1,17) để đạt được khá nhiều điều tương tự. Chỉ thực hiện việc này nếu wiki của bạn có lưu lượng truy cập thấp đến trung bình.

  5. Không chắc đây có phải là ý hay hay không, nhưng nếu bạn có quyền truy cập vào cơ sở dữ liệu của wiki, bạn cũng có thể đạt được hiệu quả tương tự bằng cách cắt bớt bảng objectcache.

5

vô hiệu hóa tất cả các lưu trữ cho tất cả các trang web với lệnh này đơn giản:

touch /etc/mediawiki/LocalSettings.php 

vì trong file liên lạc LocalSettings.php có phần này:

# When you make changes to this configuration file, this will make 
# sure that cached pages are cleared. 
$wgCacheEpoch = max($wgCacheEpoch, gmdate('YmdHis', @filemtime(__FILE__))); 

__FILE__LocalSettings.php tập tin riêng của mình, vì vậy nếu filetime là bây giờ, tất cả các bộ nhớ cache cũ hơn các tập tin sẽ được thanh lọc.

+1

Đây là câu trả lời hay hơn. – snowguy

+1

Lưu ý rằng đây không phải là một phần của 'LocalSettings.php' kể từ MW 1,17. Thay vào đó, có một thiết lập được gọi là '$ wgInvalidateCacheOnLocalSettingsChange' sẽ đạt được khá nhiều như nhau. Phương pháp này là tuyệt vời cho wiki nhỏ hơn, nhưng [không khuyến khích] (https://www.mediawiki.org/wiki/Manual:$wgInvalidateCacheOnLocalSettingsChange) cho wiki lưu lượng truy cập cao. – leo

Các vấn đề liên quan