Support » Plugin: W3 Total Cache » BUG wp-includes pathing is relative, should be absolute

  • It seems that this plugin only works with typical setups. Advanced setups don’t work due to assumptions made in the code. The function: get_files_includes is an example. The plugin uses: ABSPATH . WPINC which is a bad assumption. I have wordpress installed in a separate directory and use a symlink to include it in the project. This check will break on projects that are not using WPINC in their webroot. Is this intentional to force paid support? Seems like a very serious flaw in logic.

    Basically, I cannot upload any of the includes folder assets due to this bug.

    Also, how can I not have all my items be PUBLIC???? I want it to be private by default. I have roles in use so I do not want direct access to the bucket… another bad design…

    • This topic was modified 3 years, 5 months ago by SoN9ne.
    • This topic was modified 3 years, 5 months ago by SoN9ne.
Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Contributor Marko Vasiljevic


    Hello @son9ne,

    We serve according to the rules of WordPress, which per default installs the includes directory in the root directory. You’re using a more advanced directory structure, which only a few people use. We could change it so we support custom directory structures, but we’ll have to test it thoroughly so it might not make it into the next release.

    Doesnt seem like bugs to me but more of a desired preference for your situation.

    Curious, why don’t you simply change WPINC in your wp-config to the non-conforming WP custom directory and be done with it?

    Thread Starter SoN9ne


    I actually do use define WPINC. The issue is: ABSPATH . WPINC. I would have to add traversing to the constant which is not ideal, especially since I lock down open_basedir. I think I may have a solution to work for this. Thanks for the feedback.

    Thread Starter SoN9ne


    This is my last issue with this topic:
    I now have the path for ABSPATH pointing to my webroot’s location of WordPress. This is a /wordpress location. I use a symlink to create the /wordpress location.

    The plugin, when I go to upload the wp-include files, actually tries to pull them from the actual path and not the symlink path. Seems this will not work with symlinks. Not really sure if this is anything that can be easily fixed.

    Webroot: /var/www/html
    WordPress Symlink path: /var/www/html/wordpress
    WordPress Absolute path: /var/www/wordpress/4.9.8

    The issue here is that the permissions are set differently on the absolute path. This is due to how the resources are to be managed. I would prefer it to use the symlink path as this would give it access.

    This is most likely outside any scope of support but something I thought would be worth mentioning.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘BUG wp-includes pathing is relative, should be absolute’ is closed to new replies.