Težave z "<?php include 'url'; ?>"

Na celotni strani je edina php koda, ki ji uporabim <?php include 'url'; ?>. Z njo vključim določeno stran. Koda se ponovi nekajkrat z različnimi url-ji. Težava je v tem, da mi to stran na VPS odpira po 10 sec. in več. Enak problem sem imel že z eno podobno stranjo, ki sem jo preselil na shared hosting kjer šiba kot raketa! Na VPS pa počasi za popizdit. Kaj bi ta koda kakorkoli lahko povzročala težave? Ni mi jasno kako :/ Očitno imajo neko čudno konfuguracijo strežnika, da me potem ta koda zajebava. Mogoče kdo ve kje bi lahko bila težava?

(sicer pa kot sem že omenil, to je edina koda, ki jo uporabljam, ker tako ali tako nimam pojma o php, ostalo je samo html, pa mogoče malo jave-samo preverjene skripte, ki 99% ne bi smele povzročati nikakršnih težav...)

14 odgovorov

z include odpiras urlje?

ja, vpišem celoten url (na stran vklučim oglase, pa še kak meni)

ne pocni tega tako :) ne mores vkljuciti lokalne datoteke?

Saj to so lokalne datoteke, samo napišem cel url, ker sem imel drugače težave (ni mi pravilno delovalo v podmapah).

Pa bi bil lahko to problem za počasno odpiranje? Kot sem rekel, na shared hostingu dela brez težav...

to je varnostna pomanjkljivost, če lahko prek include/require sploh dostopaš na url...

http://phpsec.org/projects/phpsecinfo/tests/allowurlfopen.html

Ce jih odpiras preko HTTP protokola, to kar naenkrat niso vec lokalne datoteke :)

Rajsi povej, kaksne probleme si imel s subfolderji, pa tam resimo problem.

So mi na VPS zdaj neki zrihtali in dela razmeroma ok. So mi pa tudi oni odsvetovali, da vpisujem celotne url-je ampak mi ne uspe, da bi delalo v podmapah.

Evo primer (imam 3 datoteke, dve v root in ena v podmapah - isti include uporabim na index.php in index-2-php v katere želim dodati oglas.php)

index.php
oglas.php
/mapa1/index-2.php

<?php include './oglas.php'; ?>
Ne deluje pri index-2.php

enako je, če dam <?php include 'oglas.php'; ?>

Kakšna idea kaj bi moral vpisati, da bi enaka koda delovala tako v root kot v podmapah?

(mora pa koda delovati tudi recimo pri /mapa2/mapa3/index.php)

mogoce:

<?php include '../oglas.php'; ?>

Preberi si malo o absolutnih in relativnih poteh do datotek, potem bo vse skupaj mocno lazje...

./ označuje trenutni direktorij, ../ pa označuje naddirektorij. Eno piko si pozabil.

Vini:
mogoce:

<?php include '../oglas.php'; ?>

deluje v /mapa1/index.php

ne deluje pa v root in /mapa2/mapa3/index.php