Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos!
Estou com um problema na minha aplicação.
Eu utilizo a função getcwd para capturar o path do sistema e utilizar em todos códigos, aqui no servidor da empresa (local) funciona tudo corretamente, porem em homologação (web) não.
Eu acredito que esse erro pode estar ocorrendo em homologação devido a um alias que é utilizado para separar as versoes do sistema por pastas (do tipo /sistema_v2222, /sistema_v11111 para no navegador aparecer somente /sistema).
Ahn, o getcwd retorna em branco no caso se uso:
<?
$url = getcwd . "/sistema";
?>
Ele me retorna
//sistema
Quando o correto seria:
Em produção
/home/empresa/public_html/sistema
Em homologação
/public_html/sistema
Alguem passou por algo parecido?
Poderia me ajudar a encontrar uma solução?
>
<?php
$url = getcwd('.') . '/sistema';
echo $url; exit;
?>
Boa tarde hinom!
Então, eu tentei utilizar a forma como você propós, mais infelizmente não funcionou.
O PHP retorna "Número de parâmetros errado"
Faz assim:
Na página 'index.php', ou em qualquer uma na raiz do sistema, faça:
define('ROOT', dirname(__FILE__));
Se o arquivo estiver dentro de alguma pasta, ex.: /config/, faça:
define('ROOT', dirname(dirname(__FILE__)));
Pronto, agora você já tem o endereço do ROOT da sua aplicação...
#3
foi mal.. na hora de postar era para ser chdir()
<?php
chdir('.');
$url = getcwd() . '/sistema';
echo $url; exit;
?>
obs: dependendo do que está fazendo o "melhor" pode ser como no post #4
Entendi Hinom, mais mesmo assim não retorna a URL corretamente
Tentei de tudo ontem porem sem sucesso, a solução que adotei realmente foi a passada pelo Henrique, utilizei uma constante no arquivo de configuração do meu sistema. Eu queria algo mais dinâmico, mais já que essa foi a única forma vai ela mesmo.
Obrigado a todos pelo retorno.
Você está "chrooted", ou seja, mesmo estando em /home/sei/la/o/que/empresa/public_html, getcwd() vai retornar /
Veja chroot
>
Você está "chrooted", ou seja, mesmo estando em /home/sei/la/o/que/empresa/public_html, getcwd() vai retornar /
Veja chroot
Bem colocado João.
Infelizmente é uma particularidade do nosso servidor em homologação.
A solução que encontrei foi colocar uma constante mesmo.
Obrigado a todos pelo retorno