szepeviktor / w3-total-cache-fixed

A community driven build of W3 Total Cache. The aim is to continuously incorporate fixes, improvements, and enhancements over the official WordPress release of W3 Total Cache.
https://github.com/szepeviktor/w3-total-cache-fixed/releases
MIT License
237 stars 47 forks source link

Feed not purged when publishing/updating post #557

Open danwie opened 6 years ago

danwie commented 6 years ago

Feed is not updating when publishing/updating post. Not sure what is wrong. I have old PHP-version, maby that is the cause? These are my settings:

[x] Page caching via disk: enhanced
[x] Cache feeds: site, categories, tags, comments
Purge Policy: Page Cache [x] Blog feed
Specify the feed types to purge:
[x] rdf 
[x] rss 
[x] rss2
[x] atom    

[x] Handle XML mime type (note: this setting seems to be always on, even when I deactivate it and save settings the checkmark keeps coming back)

Nginx restarted: Yes CDN: Disabled

Environment: W3 Total Cache (Fixed) Version 0.9.6.1 WordPress 4.9.2 PHP5-FPM Nginx PHP 5.3.29-1 nginx/1.8.0 MySQL 5.5.38-1

debug.log:

[31-Jan-2018 08:03:38 UTC] PHP Notice:  has_cap kallades med ett argument som har <strong>upphört</strong> sedan version 2.0.0! Stödet för användarnivåer har upphört. Använd behörigheter istället. in /opt/www/domain.se/public_html/wp-includes/functions.php on line 4031

grep -R "has_cap" ./

./feedwordpress/feedwordpress.php:          if ($dude->has_cap('administrator')) :
./w3-total-cache/lib/Db/mssql.php:                if ( $this->has_cap( 'collation' ) && !empty( $this->charset ) ) {
./w3-total-cache/lib/Db/mssql.php:                return $this->has_cap( 'collation' );
./w3-total-cache/lib/Db/mssql.php:        function has_cap( $db_cap ) {
./w3-total-cache/DbCache_Wpdb.php:  function has_cap( $db_cap, $dbh_or_table = false ) {
./w3-total-cache/DbCache_Wpdb.php:      return $this->active_processor->has_cap( $db_cap, $dbh_or_table );
./w3-total-cache/DbCache_Wpdb.php:  function default_has_cap( $db_cap, $dbh_or_table = false ) {
./w3-total-cache/DbCache_Wpdb.php:      return parent::has_cap( $db_cap, $dbh_or_table );
./w3-total-cache/DbCache_WpdbInjection.php: function has_cap( $db_cap, $dbh_or_table = false ) {
./w3-total-cache/DbCache_WpdbInjection.php:     return $this->wpdb_mixin->default_has_cap( $db_cap, $dbh_or_table );
./w3-total-cache/Enterprise_Dbcache_WpdbInjection_Cluster.php:      if ( $this->has_cap( 'collation', $dbh ) && !empty( $charset ) ) {
./w3-total-cache/Enterprise_Dbcache_WpdbInjection_Cluster.php:          if ( function_exists( 'mysqli_set_charset' ) && $this->has_cap( 'set_charset', $dbh ) ) {
./w3-total-cache/Enterprise_Dbcache_WpdbInjection_Cluster.php:      return $this->wpdb_mixin->has_cap( 'collation', $dbh_or_table );
./w3-total-cache/Enterprise_Dbcache_WpdbInjection_Cluster.php:  function has_cap( $db_cap, $dbh_or_table = false ) {
./wordpress-seo/admin/class-yoast-notification.php:         $has_capabilities = array_filter( $capabilities, array( $this, 'has_capability' ) );
./wordpress-seo/admin/class-yoast-notification.php:                 return $has_capabilities === $capabilities;
./wordpress-seo/admin/class-yoast-notification.php:                 return ! empty( $has_capabilities );
./wordpress-seo/admin/class-yoast-notification.php: private function has_capability( $capability ) {
./wordpress-seo/inc/wpseo-non-ajax-functions.php:add_filter( 'user_has_cap', 'allow_custom_field_edits', 0, 3 );
./ewww-image-optimizer/changelog.txt:* fixed: has_cap with invalid argument not recognizing utf8-mb4 v5.2
./ewww-image-optimizer/common.php:              if ( $wpdb->has_cap( 'utf8mb4_520' ) && strpos( $db_collation, 'utf8mb4' ) ) {
./ewww-image-optimizer/common.php:              } elseif ( $wpdb->has_cap( 'utf8mb4' ) && strpos( $db_collation, 'utf8mb4' ) ) {
./ewww-image-optimizer/common.php:              if ( $wpdb->has_cap( 'utf8mb4_520' ) ) {
./ewww-image-optimizer/common.php:              } elseif ( $wpdb->has_cap( 'utf8mb4' ) ) {
./ewww-image-optimizer/readme.txt:* fixed: has_cap with invalid argument not recognizing utf8-mb4 v5.2

W3TC Compability Test:

Server Modules & Resources:

Plugin Version: 0.9.6
PHP Version: 5.3.29-1-dotdeb.0;
Web Server: nginx
FTP functions: Installed (required for Self-hosted (FTP) CDN support)
Multibyte String support: Installed (required for Rackspace Cloud Files support)
cURL extension: Installed (required for Amazon S3, Amazon CloudFront, Rackspace CloudFiles support)
zlib extension: Installed (required for compression support)
Opcode cache: Installed (APC)
Memcached extension: Not installed
Memcache extension: Not installed
Redis extension: Not installed
HTML Tidy extension: Not installed (required for HTML Tidy minifier support)
Mime type detection: Installed (Fileinfo) (required for CDN support)
Hash function: Installed (hash) (required for NetDNA / MaxCDN CDN purge support)
Open basedir: Off
zlib output compression: Off
set_time_limit: Available
WordPress Resources

/opt/www/domain.se/public_html/nginx.conf: OK
/opt/www/domain.se/public_html/wp-content: OK
/opt/www/domain.se/public_html/wp-content/uploads/2018/01: OK
Fancy permalinks: /%year%/%monthnum%/%postname%/
WP_CACHE define: Defined (true)
URL rewrite: Enabled
Network mode: No
tolisp commented 6 years ago

I think i have the same issue also in nginx. Version 9.6.0. What happens is that when logged in the feed contains the recent posts (W3TC not caching admin and logged in pages), but when browsing the feed as anonymous, the feed is cahced with old posts. Also w3tc_flush_url('feed_link'); does not work although it works for other pages and archives