|
Posté le: Mardi 2 Mars 2010 00:08:57
Aucun numéro de ligne indiqué dans le profil
| |
|
|
Gaetch (Auteur du topic)
Nouveau
Hors-ligne
Inscrit le : 14 Fév 2010 Messages : 9
Sexe :
Forfait : Accès libre
|
|
|
|
|
|
|
Bonjour,
j'ai un problème sur l'une des pages de mon site. J'essaye d'utiliser la fonction require et j'obtiens le message suivant lorsque j'essaye de charger ma page :
Code: | Warning: main() [function.main]: open_basedir restriction in effect. File(/Smarty/blog/setup.php) is not within the allowed path(s)... |
Je fais également mon site en local et ça fonctionne avec le même code mais le fait est que je ne sais jamais quel répertoire est considéré comme la racine, et donc comment écrire mes chemins. En gros j'ai structuré le truc comme ça :
Code: | /
---+fonctions
-------+blog.php
---+Smarty
-------+cache
-------+configs
-------+template
-----------+default.tpl
-------+template_c
-------+setup.php
---+stylesheets
-------+style.css
---+index.php |
et là le problème que j'ai c'est que j'essaye de faire un require du fichier setup.php à partir du fichier index.php j'ai simplement écrit ça comme ça :
Code: | require('/Smarty/blog/setup.php'); |
c'est ce qui me parait le plus logique, non ? |
|
|
|
|
Posté le: Jeudi 4 Mars 2010 00:09:05
Aucun numéro de ligne indiqué dans le profil
| |
|
|
Lorenzo
Corp Free
Hors-ligne
Inscrit le : 16 Fév 2009 Messages : 1334
Sexe :
Ville : Paris
Forfait : Freebox Dégroupage Total sur ligne inactive (NDI)
|
|
|
|
|
|
|
Bonsoir,
http://www.Free.fr/assistance/.....s-php.html
Citation: | Message d'erreur : Warning: opendir() [function.opendir]: open_basedir restriction in effect. File(/var/www/Free.fr/X/Y/login/) is not within the allowed path(s): (/mnt/ABC/sdc/X/Y/login) in /mnt/ABC/sdc/X/Y/login/script.hp on line X
Solution
Le chemin d'accès absolu à votre compte a été modifié. Vous devez le modifier de nouveau à la main. Pour éviter ce genre de problème, nous vous conseillons d'utiliser la variable $_SERVER["DOCUMENT_ROOT"] dans la mesure du possible. Ainsi, lorsque votre site sera déplacé ou que vous l'utiliserez en local pour faire des tests, vous n'aurez pas à modifier les chemins absolus. De nombreux scripts PHP utilisent encore trop souvent la variable en dur. Il est difficile de dresser une liste exhaustive des modifications à effectuer pour chacun de ces scripts. Dans un premier temps, renseignez-vous sur le site du (ou des) créateur(s) du script concerné. Vous avez aussi la possibilité de poser la question sur le newsgroup proxad.Free.services.pagesperso. Pensez à utiliser la fonction Recherche. |
|
|
|
|
|
Posté le: Lundi 20 Février 2012 13:58:37
Numéro présent dans le profil, mais problème de récupération des caractéristiques de la ligne
| |
|
|
papilou38
Nouveau
Hors-ligne
Inscrit le : 24 Mar 2008 Messages : 13
Sexe :
Forfait : Freebox Dégroupage Total
|
|
|
|
|
|
|
Bonjour,
j'ai modifié comme indiqué dans ce post, l'adresse absolue en adresse relative, et si cela fonctionne toujours en local, j'ai sur le site Free : "Warning: opendir() [function.opendir]: open_basedir restriction in effect. File(../) is not within the allowed path(s): (/mnt/xxx/sda/2/8/monsite) in /mnt/xxx/sda/2/8/monsite/indexnewMaJ.php on line 46 ....
Le script qui cause ce problème est joint ci dessous (destiné à récupéré la dernière date de mise à jour sur l'un des fichiers du site).
le fichier index et les dossiers de ce site sont directement à la racine.
Merci de votre aide
Code: | $dossier =$_SERVER["DOCUMENT_ROOT"] ;
function getAllFiles($dossier, $recursive = true) {
$result = array();
$handle = opendir($dossier);
while ($datei = readdir($handle))
{
if (($datei != '.') && ($datei != '..'))
{
$file = $dossier.$datei;
if (is_dir($file)) {
if ($recursive) {
$result = array_merge($result, getAllFiles($file.'/'));
}
} else {
$result[] = $file;
}
}
}
closedir($handle);
return $result;
}
function getHighestFileTimestamp($dossier, $recursive = true) {
$allFiles = getAllFiles($dossier, $recursive);
$highestKnown = 0;
foreach ($allFiles as $val) {
$currentValue = filemtime($val);
if ($currentValue > $highestKnown) $highestKnown = $currentValue;
}
return $highestKnown;] |
|
|
|
|
|
|
|