NallSilva 0 Denunciar post Postado Dezembro 10, 2014 Pessoal bom dia. Sou novo no php e estou com problema com a função __autoload no php do Linux. Estou com um Sistema que funciona perfeitamente no Windows(Wamp, USBServer, Xammp), só que ao colocar no Linux, Debian 7 php5 5.4.4 ou CentOS 6.5 php5 5.3.3 não carrega. O Sistema tem módulos e esses são carregados com a function __autoload. Segue a função: <?php $pathlocal = dirname(__FILE__); require_once(dirname($pathlocal)."/funcoes.php"); function __autoload($classe){ $classe = str_replace('..', '', $classe); require_once($pathlocal."/$classe.class.php"); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 10, 2014 Habilite as exibições de erro, como mostrado aqui http://forum.imasters.com.br/topic/375800-orientaes-para-uma-boa-participao/ Talvez o problema seja os nomes dos arquivos, que, em Linux, são case-sensitive. troque isto: require_once($pathlocal."/$classe.class.php"); por isto $file = $pathlocal."/$classe.class.php"; if ( file_exists( $file ) ) { require_once( $file ); } else { echo $file . ' nao existe'; } Compartilhar este post Link para o post Compartilhar em outros sites
NallSilva 0 Denunciar post Postado Dezembro 10, 2014 Obrigado pela rápida resposta Beraldo. Após habilitação de erros, a mensagem exata é: /var/www/ramais/classes/.class.php não existe Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 10, 2014 dê um var_dump em $classe. Ela está vindo com valor vazio. Deve haver algum erro na hora de instanciar as classes, que está passando uma string vazia pra __autoload Compartilhar este post Link para o post Compartilhar em outros sites
NallSilva 0 Denunciar post Postado Dezembro 10, 2014 Obrigado Beraldo. Ainda não consegui solucionar, mas estou verificando. Compartilhar este post Link para o post Compartilhar em outros sites