Como habilitar recursos do PHP sem recompilar

1

Eu quero usar funções de semáforo. As instruções de instalação são lidas

Support for this functions are not enabled by default. To enable System V semaphore support compile PHP with the option --enable-sysvsem . To enable the System V shared memory support compile PHP with the option --enable-sysvshm . To enable the System V messages support compile PHP with the option --enable-sysvmsg .

Mas estou executando o XAMPP para Linux. Isso significa que é impossível para mim usar funções de semáforo? Eu também gostaria de saber exatamente por que é preciso recompilar todo o PHP em vez de, digamos, ajustar uma configuração do php.ini ou adicionar um novo módulo.

    
por Hubro 23.07.2011 / 19:36

4 respostas

1

But I'm running XAMPP for Linux. Does this mean it's impossible for me to use semaphore functions?

Não, você só precisa obter uma versão do XAMPP que tenha a extensão disponível. Alternativamente, você pode compilar o PHP sozinho.

I'd also like to know exactly why one has to recompile all of PHP instead of, say, tweaking a php.ini setting or adding a new module.

Porque os fontes dos módulos fazem parte das fontes do PHP. Você então compila tudo no binário do PHP e não em um arquivo de biblioteca compartilhada. É apenas o design do módulo. Para refinar seu arquivo php.ini, você precisaria de um arquivo de biblioteca externo, veja o diretório PHP ext .

    
por 23.07.2011 / 20:23
1

Você provavelmente precisará recompilar. A menos que você possa achar que tem um plug in, mas algo chamado System V Shared memory eu estou supondo que não viria como um plugin :(

Na verdade, um rápido Google criou este link , então não desculpe :(

    
por 23.07.2011 / 19:43
0

se você não puder ativar uma opção, olhe para o seu arquivo de cofiguração (neste caso, php.conf ou php.ini no windows). Isso ajudará você ver a opção se estiver instalado. se não estiver instalado, obtenha uma versão do XAMPP com este recurso instalado ou você terá que recompilar

    
por 23.07.2011 / 19:43
0

A menos que você use um binário pré-compilado para o seu sistema, o PHP compila tudo o que você especifica para o seu sistema. Por exemplo, se você precisar de suporte ao MySQL, mas não ao suporte MSSQL para bancos de dados, o PHP não compilará as bibliotecas MSSQL necessárias para esse tipo de conexão de banco de dados. Você poderia compilar o PHP com todas as opções para ter todas as bibliotecas, mas normalmente você não precisará de todas elas.

Em resumo, o sistema não possui a biblioteca compilada para o PHP carregar.

Se você precisar recompilar depende se você pode encontrar binários pré-compilados para o seu sistema. Não tenho certeza sobre o XAMPP para Linux.

ServerFault do mesmo tipo de pergunta:
Como - enable-dom sem recompilar o PHP?

    
por 23.07.2011 / 19:44

Tags