WordPress.org

Make WordPress Core

Opened 4 years ago

Closed 15 months ago

Last modified 5 months ago

#37691 closed defect (bug) (worksforme)

plugins directory not being actively checked

Reported by: bheadrick Owned by:
Milestone: Priority: normal
Severity: normal Version: 4.6
Component: Plugins Keywords:
Focuses: Cc:

Description

This may be by design, but I've discovered that with 4.6, if you have several plugins from a previous install, you can't just copy them to the plugins directory and have them register as being installed.

This is what I did, then I viewed the "installed plugins" page, and it was empty (said no plugins are installed)

I had to go through the process of installing them through the dashboard.

I confirmed that restores from pre 4.6 - plugins restored will still not register as being installed
Deleting _transient_timeout_plugin_slugs and _transient_plugin_slugs wp_options records seems to force the installed plugins to update, but unless I'm just being impatient, it doesn't look like the plugins will show up otherwise.

Change History (6)

#1 @azaozz
4 years ago

you can't just copy them (plugins) to the plugins directory and have them register as being installed.

If I understand it right, that would mean when you upload plugins to wp-content/plugins with FTP they don't show on the Plugins screen? Can't reproduce this. All plugins added to (or deleted from) the plugins directory show properly on the Plugins page in wp-admin. Perhaps when you copied them they ended up with (very) restrictive file permissions?

Last edited 4 years ago by azaozz (previous) (diff)

#2 follow-up: @lukecavanagh
4 years ago

@bheadrick

So was the site DB copied over to the new site, or was it just the plugins from the plugin folder?

#3 in reply to: ↑ 2 @ionutst
4 years ago

@lukecavanagh they should appear in the list even they are not installed ( with db ) - correct me if i`m wrong.
@bheadrick - how did you install them ? Can you run a ls -a or check the permissions with ftp for older plugin folders ?

#4 @bheadrick
4 years ago

I'm doing this locally in a VVV instance, so not exactly FTP, but I copied the files from one site instance to another.

permissions does sound like a plausible cause, although this same process never failed me before this last update.

plugins$ ls -l
total 68
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 akismet
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 force-regenerate-thumbnails
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 gravityforms
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 gravityformslogging
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 gravityformsmailchimp
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 gravityformsstripe
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 InteractiveMapBuilder
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 jetpack
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 js_composer
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 mojo-marketplace-wp-plugin
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 revslider
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 ssl-insecure-content-fixer
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 Ultimate_VC_Addons
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 updraftplus
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 w3-total-cache
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 woocommerce
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 woocommerce.2.4
drwxrwxrwx 1 vagrant vagrant 0 Aug 6 20:44 woocommerce-amount-due-filter
drwxrwxrwx 1 vagrant vagrant 0 Aug 6 20:44 woocommerce-cart-based-shipping
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 woocommerce-cost-of-goods
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 woocommerce-dynamic-pricing
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 woocommerce-gateway-stripe
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 woocommerce-min-max-quantities
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 woocommerce-pdf-invoice
drwxrwxrwx 1 vagrant vagrant 0 Aug 6 20:44 woocommerce-pdf-invoice-template
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 woocommerce-product-addons
drwxrwxrwx 1 vagrant vagrant 4096 Aug 28 14:57 woocommerce-purchase-order
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 woocommerce-quote
drwxrwxrwx 1 vagrant vagrant 0 Aug 28 14:57 woothemes-updater

I'm not really good at reading permissions in anything other than octal, so I went up a directory and ran this to be sure:

chmod -R 777 plugins

and refreshed the plugins page - there is only 1 plugin listed as being installed.

I didn't have hello dolly or akismet in the plugins folder, but when I copied those in, they showed up in the plugins page immediately afterwards.

#5 @desrosj
15 months ago

  • Milestone Awaiting Review deleted
  • Resolution set to worksforme
  • Status changed from new to closed

Hi @bheadrick,

My apologies that this issue was ignored for so long.

I have done some testing and I have been unable to reproduce this (even in my local VVV environment). Since no one else has reported this, and a few others have also been unable to reproduce, I am going to close this out.

If you are still experiencing this issue, please reopen with more details and someone can take another look.

#6 @SergeyBiryukov
5 months ago

Deleting _transient_timeout_plugin_slugs and _transient_plugin_slugs wp_options records seems to force the installed plugins to update

Just noting that the plugin_slugs transient is only used in the wp_dashboard_plugins_output() function, which is deprecated and unused since [40607] / #40702. It does not affect anything else.

Follow-up: #49340

Last edited 5 months ago by SergeyBiryukov (previous) (diff)
Note: See TracTickets for help on using tickets.