Jump to content
View in the app

A better way to browse. Learn more.

The Uniform Server Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Absolute Paths in UniServer Zero

Featured Replies

Hey guys,

Love Uniserver but am having a little problem. I just got the new (Zero XI 11.3.3) Uniserver upgrading from Mona 4.1. Yeah long overdue. I use it locally to test websites before throwing them on the production server so I need all the files to be just like they would be on the production server without having to make any adaptations before uploading them.

I am working out of the home directory with all my sites just like the production server.

In Mona I had absolute links set up to where a PHP line like this would work (the way it works on the production server).

require_once("home/webfolder/public_html/common/scripts/globalscript.php");

XI has no problem getting to the folder where the index file is just as it is set up in the virtual hosts but any absolute link in the script is broken. Now, XI requires this to make it work.

require_once("D:/UniServerZ/home/webfolder/public_html/common/scripts/globalscript.php") 

There are several absolute links in each site and many sites to deal with. I'd rather not have to change each sites links everytime I go to production with a site I am testing.

I know Mona set up a drive to work from but XI does not is there a way to simulate this in XI so that my absolute paths still work without modification?

I apologize if this is an elementary question or one that has been covered before. I looked but did not find anything. I appreciate any help.

Thanks

 

Are you sure this works on Mona?

require_once("home/webfolder/public_html/common/scripts/globalscript.php");

Its a relative path from the current working directory. Absolute baths generally start with forward slash (start search from root folder top-level)
I think it should be:

require_once("/home/webfolder/public_html/common/scripts/globalscript.php");

Anyway back to original question

I know Mona set up a drive to work from but XI does not is there a way to simulate this in XI

Assuming you are not running servers as a service its very easy to simulate a drive.
Create a batch file us_run.bat with the following content:

SUBST X: C:\11_3_3_ZeroXI\UniServerZ
X:
Start UniController.exe

Replace X with a drive letter you wish to use e.g D replace C:\11_3_3_ZeroXI\UniServerZ with the full path to folder UniServerZ on your PC.
Double click on us_run.bat the above creates a new virtual drive X and runs the servers at the top-level.

The above if it works! Is an interim solution. You should never ever use absolute paths more specifically hard code absolute paths. By all means use absolute paths however ensure these are dynamically calculated see PHP manual require_once

All the best
Ric

  • Author

Thanks Ric,

Yes you are correct I left out the leading forward slash. Thanks for the temporary workaround and the require_once reference. I cannot remember for the life of me why I needed a hard coded link in the first place but I will start fixing. Please excuse if this is a stupid question but are hard coded paths a security risk or just a PITA? I searched the web but could not find any detail of them being risky. The workaround did not work though. It says "Failed to start default browser and opens a browser window with file:///X:/home/us_splash/us_zero_ref.html as a url. Funny though after some time it will eventually open it normally with this url http://localhost/us_splash/index.php. My site does not work at all. PHPmyadmin eventually opens as well. Thanks

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.