Autor Zpráva
JirkaB
Profil *
nechodící funkce INCLUDE na 64bit virtuálním serveru:

include('./inc/test.php')

vyhlásí chybu, soubor tam je. Pokud to zavolám přímo odkazem http://www.domena.cz/inc/test.php, tak se soubor normálně provede.
Pokud do include() dám absolutní cestu, tak vše funguje...

Na 32 bitovém Win serveru se to chová zcela normálně.

Ještě poznatek: funkce realpath("./") mi vrací toto: C:\WINDOWS\SysWOW64\inetsrv
Tuším, že to bude asi ten problém, ale nevím co s tím mám dělat.

Poradíte někdo? Náhrada relativních cest za absolutní je neakceptovatelná.
Díky
Jan Tvrdík
Profil
JirkaB:
Náhrada relativních cest za absolutní je neakceptovatelná.
Proč myslíš? Osobně nikdy neincluduji relativní cesty. PHP se chová trochu nespolehlivě.

include dirname(__FILE__) . '/inc/test.php';
JirkaB
Profil *
include bych třeba ve svém kodu mohl nahradit, ale potřebuji tam rozjet třeba phpMyAdmin a tam se to třeba hemží takovýmito relativními odkazy:

require_once './libraries/sanitizing.lib.php';
require('./libraries/vendor_config.php');
require './libraries/header_scripts.inc.php';

a to samozřejmě nechodí také a já nevím co s tím...
Jan Tvrdík
Profil
JirkaB:
V tom případě je phpMyAdmin špatně napsaný, protože se spoléhá na něco, na co se obecně spolehnout nedá.

Můžeš zkusit nastavit include_path a nebo použít funkci chdir, aby to PHP dohledalo správně.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: