webForumDet fria alternativet

PHP på Windows resp Linux - Ingen skillnad väl? Men jo, verkar så!

PHP

2 svar · 296 visningar · startad av seattlegrunge

Medlem sedan juli 200653 inlägg
Frågan#1

Jag utvecklar på Windowsburkar, mina sajter ligger på Windowsburkar, men tänkte nu ge mig på att leka lite på Linux oxå, så jag la över en av mina sajter från utvecklingsburk med Windows till ett webbkonto med Linux.

Allt verkar fungera bra, dock en grej som förbryllar mig och det lyder som följande:

Följande är koden, rakt upp och ner på en i övrigt tom sida:

<?php
$path_parts = pathinfo($_SERVER['PHP_SELF']);
echo $path_parts['basename'];
?>

Kör jag denna sida på en Windowsburk med följande url:
https://www.domain.tld/testing.php/level1/level2/level3
så skriver php-sidan ut testing.php

Men!
Kör jag denna sida på en Linuxburk med följande samma url, alltså:
https://www.domain.tld/testing.php/level1/level2/level3
så skriver php-sidan ut level3

Hur sjutton kan det skilja sig? Är det något med Apache och dess konfiguration?

När den skriver ut testing.php så är det rätt... iaf i mitt fall.

Medlem sedan maj 2005562 inlägg
#2

Beror som du säger på Apache

http://se2.php.net/manual/en/reserved.variables.php#63762 skrev:

Note that PHP_SELF will not be equal to REQUEST_URI under Apache if mod_rewrite has been used to move one URL to another--PHP_SELF will contain the rewritten address, and REQUEST_URI will contain the URL the user sees in their browser.

http://se2.php.net/reserved.variables skrev:

'PHP_SELF'

The filename of the currently executing script, relative to the document root. For instance, $\_SERVER\['PHP_SELF'\] in a script at the address <http://example.com/test.php/foo.bar> would be /test.php/foo.bar. The \__FILE_\_ constant contains the full path and filename of the current (i.e. included) file.

Läs mer: http://se2.php.net/reserved.variables

Medlem sedan juli 20041 183 inlägg
#3

Det finns väl en hel del andra skillnader också? Läser man i guiden om olika kommandon så ska man ibland göra på olika sätt för Windows/*Nix servrar. Ibland finns inte funktioner på windows-servrar.

Vet att jag set skillnader när man håller på med datumvariabler bla...

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)