phpize: erro m4 apenas em uma extensão

3

No Linux, eu instalei o php 5.3.8 da fonte. Usar o phpize para instalar uma extensão funciona bem, mas não em uma extensão específica (mysqlnd).

# cd /opt/php/5.3.8/ext/pdo && /opt/php/5.3.8/bin/phpize
... this runs ok
# cd /opt/php/5.3.8/ext/mysqlnd && /opt/php/5.3.8/bin/phpize
Cannot find config.m4. 
Make sure that you run '/opt/php/5.3.8/bin/phpize' in the top level source directory of the module'

Como você pode ver erro não pode ser que eu não estou no diretório de origem de nível superior desde que eu sou. Eu tentei chamar phpize da pasta ext - não funcionou também! Para informações eu tenho m4 instalado

Alguma ideia? Obrigado :)

    
por Francois 25.09.2011 / 19:16

2 respostas

1

O problema é que o arquivo m4 do mysqlnd não é config.m4 mas config9.m4. Este é um mecanismo de dependência, para garantir que buildconf o coloque no final do configure. Pode-se argumentar que phpize deve saber sobre isso, atualmente isso não acontece.

Uma alternativa é renomear config9.m4 para config.m4, mas lembre-se de que uma compilação "normal" não funcionará.

Note também que o PHP 5.3.8 não permite que mysqlnd seja construído compartilhado, portanto, acima da solução não funcionará. Isso será permitido no PHP 5.3.9, no entanto. Isso ainda não resolve o problema config.m4 vs. config9.m4, mas para PHP você poderá fazer --enable-mysqlnd=shared para receber mysqlnd.so como parte da compilação principal do PHP.

    
por 25.09.2011 / 19:51
0

Tente executar o phpize na pasta mysql

Você pode verificar o mesmo post aqui: link

    
por 25.09.2011 / 19:25

Tags