Os arquivos php incluídos não funcionam após a subpasta de arquivos movidos

Eu tenho um problema com a seção php include. Para explicar completamente o problema, criei uma página de teste para você.

Primeiro, quero mostrar o esquema dos arquivos para você. Também é possível baixar os arquivos de teste desteLIGAÇÃO e você pode testá-lo onlineLINK DE TESTE

Como você pode ver, há uma subpasta na pastahtdocs (root) e todos os arquivos php lá. Agora vou mostrar o código php dentro do arquivo, respectivamente.

appname / index.php

<?php include_once 'includes/config.php';?>
<div class="callPage">Click Here</div>
<div id="testBox"></div>

<script type="text/javascript">
  $(document).ready(function(){
      var siteurl = '<?php echo $url;?>';
      $("body").on("click",".callPage", function(){
       $.ajax({
            url: siteurl+'content/test',
            beforeSend: function() {
                //Do something
            },
            complete:function(){
              //Do something 
            },
            success:function(response){
                $("#testBox").html(response);
            }
            });
    });
     function LoadPage(){
       $.get(siteurl+'content/test', function(data) {
          $('#testBox').html(data);
       });
    }
    LoadPage(); 
  });
</script>  

appname / content / test.php

<?php 
include_once 'includes/config.php';
echo $text.'</br>';
echo $worked.'</br>';
?>

appname / includes / config.php

<?php 
$url = 'http://localhost:8888/';
$text = 'Well Come! How are you today ?';
$worked = 'It is working :)';
?>

Quando você abre oLINK DE TESTE, LoadPage(); função javascript chamarátest.php no arquivo de conteúdo e exiba-o#testBox. Primeiro você não verá nada em#testBox deindex.php . Porqueconfig.php não pode ser incluídotest.php .

Eu sei se eu mudar essa linhainclude_once 'includes/config.php'; detest.php como issoinclude_once '/appname/includes/config.php'; então o problema será corrigido.

Mas se as páginas se multiplicarem e eu desejar usar os arquivos na pasta raiz (htdocs ou www), preciso excluir o nome do aplicativo (nome da subpasta) =>include_once 'appname/includes/config.php'; de todos os arquivos. Será um grande problema quando esses arquivos se multiplicarem.

Na verdade, a pergunta é exatamente:

Como podemos incluir arquivos php sem especificar o caminho completo para o include, quando o caminho do aplicativo em relação aoDOCUMENT_ROOT é variável ou desconhecido einclude_path não pode ser modificado de forma confiável por todos os usuários do aplicativo?

questionAnswers(4)

yourAnswerToTheQuestion