Os DSNs do usuário não podem ser lidos pelo Apache quando ele é executado como um serviço (grande 'duh' endereçado a mim mesmo). Usando DSNs do sistema.
EDIT: Melhor ainda: DSN do arquivo.
Estou configurando um Apache Http Server independente (2.2.16, no Windows. Pode ser XP ou mais recente) para se comunicar com J (autônomo como não em XAMPP ou outros pacotes). Eu posso obter minha lista de DSNs do usuário em J normalmente, mas não quando entrar no Apache.
Eu instalei o PHP, tentei uma conexão com o odbc_connect, sem dados. odbc_data_source requer uma conexão ativa (mesmo se odbc32.dll sqlitedatasources não ...), e todas as conexões foram recusadas. Além disso, como teste, eu instalei o XAMPP e configurei-o para conversar com o J. Com o XAMPP, tanto o J quanto o PHP puderam listar os DSNs do usuário local.
Então, suponho que o delta é o servidor HTTP Apache autônomo. Quais módulos ou configurações devo ativar na configuração para permitir o acesso de módulos de terceiros aos DSNs do usuário?
Nota:
E por que eu não posso usar o XAMPP ou outros para começar, suspiro, é uma longa história. Essencialmente, os clientes serão entidades públicas, com uma TI muito controladora, que exigem uma lista de todos os componentes das soluções de software. A experiência tem mostrado que obter programas como o Apache aprovado pode ser irritante, e eu prefiro não tentar refazer este processo de aprovação com pacotes pré-feitos, por mais práticos e impressionantes que eles sejam.
Tags windows odbc dsn apache-http-server