Compilando extensões PECL compartilhadas com phpize
Às vezes, usar o instalador pecl não é uma opção.
Isso pode ocorrer porque há um firewall ou porque a extensão que está sendo
instalada não está disponível como um pacote compatível com o PECL,
como extensões não lançadas do git.
Se tal extensão precisar ser compilada, as ferramentas de compilação de baixo
nível podem ser usadas para realizar a compilação manualmente.
O comando phpize é usado para preparar o ambiente de
compilação para uma extensão PHP.
No exemplo a seguir, o código-fonte de uma extensão está em um diretório
chamado extname:
$ cd extname
$ phpize
$ ./configure
$ make
# make install
Uma instalação bem sucedida criará um arquivo extname.so
e o colocará no diretório de extensões PHP
extension_dir.
O arquivo php.ini precisará ser ajustado, e uma
linha extension=extname.so
precisará ser adicionada antes que a extensão possa ser usada.
Se o sistema não tiver o comando phpize e pacotes
pré-compilados (como os do RPM) forem usados, certifique-se também de instalar a versão
de desenvolvimento apropriada dos pacotes PHP, pois ela geralmente inclui o
comando phpize
juntamente com os arquivos de cabeçalho apropriados para compilar o PHP e suas extensões.
Execute phpize --help para exibir informações de uso
adicionais.
Brian ¶17 years ago
If you have multiple PHP versions installed, you may be able to specify for which installation you'd like to build by using the --with-php-config option during configuration.--with-php-config=[Insert path to proper php-config here]For example (my case):./configure --with-php-config=/usr/local/php5/bin/php-config5
admin at eexit dot net ¶13 years ago
When compiling an extension for a stack which is 64 bits (for example) and your compiler is configured to compile in 32 bits, you can manually compile your extensions using C flags before your configure.Example: my system compiler is 32 bits and my stack is 64 bits. To compile my xdebug:# phpize# CFLAGS=-m64 CPPFLAGS=-m64 CCASFLAGS=-m64 ./configure --enable-xdebug# gmake# file modules/xdebug.somodules/xdebug.so: ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically linked, not stripped, no debugging information available