Skip to content

Linkstack installation fails on shared hosting & subdomain #934

Description

@felixfruehstueck

LinkStack version

4.8.4

Description

After uploading the ZIP folder to my shared hosting webspace, I encounter the following error:

scandir(/usr/www/users/.../.../p/linkstack//assets/linkstack/images/): Failed to open directory: No such file or directory

I assumed this is because my linkstack instance does not run on the domain "root" but in a subfolder. I tried to work around that issue by creating a subdomain, making the linkstack instance accessible "like a domain root". However, also this did not change the behavior:

Image

It looks like scandir is searching in the wrong directory:

  • Incorrect: /usr/www/users/{webspace_user}/{webspace_name}/p/linkstack//assets/linkstack/images/
  • correct: {subdomain.domain.de}/assets/linkstack/images/

Am I overlooking something?
Thanks for your help in advance!

Best,
Felix

Details about your system

PHP 8.4.11
Laravel 9.52.18

How to reproduce

  1. Download ZIP
  2. Upload to shared hosting in a subfolder
  3. Open subfolder in Browser
  4. Create subdomain + HTTPS for it
  5. Open subdomain in Browser

Possible Solution

I tried setting APP_URL in .env but also this did not help.

I also tried to change line 6 in app/Functions/functions.php to $_SERVER['REQUEST_URI'] or similar, but no success.

Additional Context

No response

Activity

  1. karl-bullock commented on Nov 13, 2025

    @karl-bullock

    It's because Linkstack is assuming you're not in a shared hosting environment.
    It's intended to be hosted in say a VPS like instance where you have full control of where you can set the directory yourself.

  2. JulianPrieber commented on Nov 25, 2025

    @JulianPrieber
    Member

    I've been looking at this issue for a bit now and I'm not entirely sure what's going wrong here exactly.

    It's true that not all features fully work on shared hosting. I think the theme system will throw these kinds of errors depending on the host.

    We added a couple of compatibility features to make some systems work, for example the updater should now work on shared hosting.

    The thing is, file paths are reported by PHP, so this should normally work. I can't really see any case where the hoster wouldn't provide that information to this process.

    There looks to be a double slash in the file path that would do that sort of thing, but I'd expect this to happen on other systems as well, not just shared hosting.

  3. JulianPrieber commented on Nov 25, 2025

    @JulianPrieber
    Member

    @felixfruehstueck Removing the redundant "/" in the findFile function should do it for you https://github.com/LinkStackOrg/LinkStack/blob/main/app/Functions/functions.php#L5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions