Pergunta

Eu costumo usar essa linha para arquivo de importação de fora da pasta atual e do belo trabalho no meu servidor host local

require("../DataBase.class.php"); 

mas quando eu carregar o script no meu site eu recebo este aviso

Atenção: incluem (../ DataBase.class.php) [Function.include]: failed to open o córrego: Nenhum tal lima ou diretório

Foi útil?

Solução

O modo de segurança não gosta "../". Então você deve sempre usar algo como

require_once realpath(dirname(__FILE__) . '/..') . '/file.php';

Outras dicas

O que está provavelmente acontecendo é que a configuração include_path no php.ini é diferente em seu servidor do que em sua instalação local do PHP / Apache. Junto com isso, tenha em mente que ../ não aponta para o diretório atual que o arquivo está em, ele aponta para o diretório pai do diretório atual em que está. O que eu aconselharia é descobrir o caminho completo para sua raiz de documentos, em seguida, incluindo seus arquivos como este:

<?php

$full_path = "/var/www/htdocs"; // this should be your website's full path
require( $full_path . "/DataBase.class.php" );

?>

Você está procurando o arquivo no diretório pai. Se você quer que ele no uso diretório atualmente:

require 'Database.class.php';

Talvez no seu servidor web local, você tem uma cópia em seu diretório pai por algum motivo que não existe no seu servidor remoto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top