LinkStack icon indicating copy to clipboard operation
LinkStack copied to clipboard

Linkstack installation fails on shared hosting & subdomain

Open felixfruehstueck opened this issue 5 months ago • 3 comments

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

felixfruehstueck avatar Aug 24 '25 14:08 felixfruehstueck

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.

linkrobins avatar Nov 13 '25 18:11 linkrobins

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.

JulianPrieber avatar Nov 25 '25 14:11 JulianPrieber

@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

JulianPrieber avatar Nov 25 '25 14:11 JulianPrieber