Comments (9)
Perhaps the built-in DIRECTORY_SEPARATOR constant would be handy.
from slim.
@bobdia Perhaps. In this case, Request::$root is the public-accessible URI to the directory in which the Slim app is installed. Most of the times, this will be "/", but it could be "/foo" or "/foo/bar" and so on. I believe DIRECTORY_SEPARATOR will be "" on Windows so not necessarily useful when constructing URIs. This should be an easy fix... just need to get to it here soon is all.
from slim.
Just thought I'd mention it. "/" will work on windows so should be simpler to always use that. Let me know if you need someone to test on Windows.
from slim.
Absolutely. I'll post another message here when I push up the changes so you can test. Thanks!
from slim.
I'm not at all familiar with IIS, and I believe this issue is specific to that server. If anyone else can chip in and provide a solution for this, that'd be much appreciated. Until then, I'm lowering the priority of this ticket.
from slim.
I run a WAMP server with the latest dev version and I had a similar problem : my URI root was "" so all my generated URLs were incorrect. This is due to the different behaviour of dirname() on Windows, called in Uri::getBaseUri() (line 71).
I fixed it like this :
$baseUri = strpos($requestUri, $scriptName) === 0 ? $scriptName : dirname($scriptName);
replaced by :
$baseUri = strpos($requestUri, $scriptName) === 0 ? $scriptName : str_replace('', '/', dirname($scriptName));
It's not very pretty but effective.
I tested it with and without a controller call and also with the app installed in a sub-directory.
from slim.
Nice! If you want to send a pull request I can pull your code and credit you with the change. Else I'll add this in myself later today.
from slim.
I have no fork for the moment so you can make the change, yes.
from slim.
Pulled in, pushed to master and develop.
from slim.
Related Issues (20)
- middleware precedence is not working HOT 2
- Nginx subdirectory HOT 2
- Bump slim 2 to 3 with BC HOT 2
- Error handling still problematic HOT 5
- withHeader is not working HOT 1
- PHP8 Fibers Discussion HOT 4
- Will Slim 3.x support PHP8.1 or higher? HOT 5
- Routing error with array $args but not everytime HOT 2
- RuntimeException for PSR-17 ResponseFactory implementations HOT 1
- PSR 7 http-message version requirement HOT 4
- HTML Entity Encoding in PlainTextErrorRenderer HOT 2
- Running out of memory by using custom middlewares HOT 4
- Add #[\ReturnTypeWillChange] attribute to Slim\Collection methods (Slim 3) HOT 1
- How to cache internal https requests HOT 1
- Wrong Response instantiation inside Mİddleware Example HOT 2
- middleware list (inf) HOT 1
- Release-Date for 4.13 with support for psr/http-message 2.x ? HOT 2
- Update psr7
- CLA INTEL
- Using wrong flag to write to error log in ErrorHandler HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slim.