CentOS 5.5 - configurando mysql com php, faltando mysql.so

1

Estou testando uma compilação do CentOS no VMWare. Estou executando o CentOS 5.5. Estou tentando fazer o mysql funcionar com o php5.3

Eu compilei o PHP 5.3 a partir do código-fonte e instalei o lixo relevante do mysql. No entanto, o mysql.so nunca foi instalado. Fazendo um 'locate mysql.so' mostra um mysql.so em alguma construção perl ou algo assim, nada para php.

Então, posso baixar o arquivo mysql.so em algum lugar? Passei por cerca de três páginas da pesquisa do Google e não consigo encontrar uma maneira de fazer o download. Todo mundo apenas diz que vem com PHP, mas eu não tenho isso. Meu phpinfo () mostra que o mysqli está carregado, mas não o mysql.

yum install php-mysql diz que está atualizado.

Alguma idéia?

EDIT: Então eu esqueci de adicionar --with-mysql para compilar flags. Doh Então eu fiz isso e agora recebo o seguinte:

checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.

e config.log:

configure:60081: checking for MySQL support
configure:60128: checking for specified location of the MySQL UNIX socket
configure:60332: checking for mysql_close in -lmysqlclient
configure:60351: gcc -o conftest -I/usr/include -g -O2 -fvisibility=hidden  -Wl,-rpath,/usr/lib/mysql -L/usr/lib/mysql -L/usr/lib  -Wl,-rpath,/usr/kerberos/lib64 -L/usr/kerberos/lib64 -Wl,-rpath,/usr/kerberos/lib -L/usr/kerberos/lib conftest.c -lmysqlclient  -lmcrypt -lltdl -lcrypt -lfreetype -lpng -lz -ljpeg -lcurl -lz -lm -ldl -lnsl  -lxml2 -lz -lm -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -ldl -lz 1>&5
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
configure: failed program was:
#line 60340 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char mysql_close();

int main() {
mysql_close()
; return 0; }
configure:60574: checking for mysql_error in -lmysqlclient
configure:60593: gcc -o conftest -I/usr/include -g -O2 -fvisibility=hidden  -Wl,-rpath,/usr/lib/mysql -L/usr/lib/mysql -L/usr/lib  -Wl,-rpath,/usr/kerberos/lib64 -L/usr/kerberos/lib64 -Wl,-rpath,/usr/kerberos/lib -L/usr/kerberos/lib -Wl,-rpath,/usr -L/usr conftest.c -lmysqlclient  -lz -lmcrypt -lltdl -lcrypt -lfreetype -lpng -lz -ljpeg -lcurl -lz -lm -ldl -lnsl  -lxml2 -lz -lm -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -ldl -lz 1>&5
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
configure: failed program was:
#line 60582 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char mysql_error();

int main() {
mysql_error()
; return 0; }
    
por CrazeD 01.12.2010 / 22:46

2 respostas

1

Estranho. Na minha caixa RHEL, o mysql.so é fornecido pelo php-mysql. O que rpm -ql php-mysql | grep mysql.so dá a você?

É possível que você esteja enfrentando problemas de versão? O repositório do RHEL / CentOS está na versão 5.1.6 do PHP. Mas você compilou o php5.3 da fonte, e parece que você usou o pacote php-mysql. Eu não tenho certeza se o último vai jogar bem com o primeiro. Você pode estar melhor do ponto de vista da facilidade de administração apenas instalando o pacote php do repositório. Se você não precisa de nenhum dos recursos fornecidos somente em 5.3, provavelmente será muito mais fácil para você.

Além disso, você compila o PHP com os flags apropriados para o mysql? ( --with-mysql ?)


- Christopher Karel

    
por 01.12.2010 / 23:08
0

I'm trying to get mysql to work with php5.3

não compile a partir do código-fonte do CentOS, a menos que você realmente saiba o que está prestes a quebrar e mantenha as partes ... Isso é verdade para qualquer distribuição se você quiser ser mais esperto do que o sistema de gerenciamento de pacotes .

Você deve usar repositórios de terceiros, como o listado em: link

    
por 02.12.2010 / 00:06