[FUG-BR] phpMyAdmin não funcionando.

Joao Rocha Braga Filho goffredo em gmail.com
Sexta Novembro 5 08:32:49 BRST 2010


Alguém mais está tendo problemas com o phpMyAdmin? Fiz atualização
do PHP e do phpMyAdmin, e ele não está funcionando. Aliás, ele já parecia
não estar funcionando antes.

Achei isto nas buscas:

http://forums.freebsd.org/showthread.php?t=17402

Foi de MUITA ajuda, pois com isto resolvi um bando de problemas, como
módulos faltando, módulos desatualizados etc. Mas depois disto ele ficou
dando core dump:

[Fri Nov 05 07:59:33 2010] [notice] child pid 95835 exit signal
Segmentation fault (11)

Isto foi tirado do /var/log/httpd-error.log.

Agora, quando faço "php index.php", como sugerido no texto acima, dá:

goffredo:mail[621] php index.php
Segmentation fault (core dumped)

Fuçando os fontes achei um bug, que corrigi. Era um acesso ao banco de
dados que era feito em um ciclo a mais num loop, e muitas vezes a função
era chamada com parâmetro zero, e mesmo assim, por causa do bug, fazia
um loop. Uma vez que corrigi isto, passou a dar core dump e outro lugar, e
de novo com acesso ao banco de dados.

Tem um outro sistema que usa PHP e MySQL que está funcionando direitinho,
além do webmail. Aliás, no processo deu um erro no webmail, que é o
squirrelmail,
mas resolvi. Na atualização do PHP parece que não tinha sido instalado
o php.ini.

Será que tem algum erro no tratamento de erros de acesso ao banco de
dados o PHP?

Aliás, o primeiro erro que surgiu foi com o php-GD, que atualizei algum tempinho
atrás. Por isto, e mais algumas coisas, que fiz uma atualização grande no PHP.


Abaixo vão alguns dados:


goffredo:mail[622] uname -a
FreeBSD mail.paraty.com 6.4-STABLE FreeBSD 6.4-STABLE #13: Mon Oct 18
17:27:10 BRST 2010
goffredo at mail.paraty.com:/usr/obj/usr/src/sys/MAILHOST  amd64


goffredo:mail[623] pkg_info | grep php
php5-5.3.3_2        PHP Scripting Language
php5-extensions-1.4 A "meta-port" to install PHP extensions

goffredo:mail[627] cat /usr/local/etc/php/extensions.ini
extension=apc.so
extension=bz2.so
extension=ctype.so
extension=curl.so
extension=dom.so
extension=filter.so
extension=gettext.so
extension=hash.so
extension=iconv.so
extension=json.so
extension=ldap.so
extension=mbstring.so
extension=mcrypt.so
extension=mysql.so
extension=openssl.so
extension=pdo.so
extension=pdo_mysql.so
extension=pdo_sqlite.so
extension=posix.so
extension=session.so
extension=simplexml.so
extension=snmp.so
extension=soap.so
extension=sockets.so
extension=sqlite.so
extension=tokenizer.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so
extension=zip.so
extension=zlib.so
extension=mysqli.so
extension=gd.so

Tenho estas extensões instaladas:

php5-bz2-5.3.3_2    The bz2 shared extension for php
php5-ctype-5.3.3_2  The ctype shared extension for php
php5-curl-5.3.3_2   The curl shared extension for php
php5-dom-5.3.3_2    The dom shared extension for php
php5-filter-5.3.3_2 The filter shared extension for php
php5-gd-5.3.3_2     The gd shared extension for php
php5-gettext-5.3.3_2 The gettext shared extension for php
php5-hash-5.3.3_2   The hash shared extension for php
php5-iconv-5.3.3_2  The iconv shared extension for php
php5-json-5.3.3_2   The json shared extension for php
php5-ldap-5.3.3_2   The ldap shared extension for php
php5-mbstring-5.3.3_2 The mbstring shared extension for php
php5-mcrypt-5.3.3_2 The mcrypt shared extension for php
php5-mysql-5.3.3_2  The mysql shared extension for php
php5-mysqli-5.3.3_2 The mysqli shared extension for php
php5-openssl-5.3.3_2 The openssl shared extension for php
php5-pdo-5.3.3_2    The pdo shared extension for php
php5-pdo_mysql-5.3.3_2 The pdo_mysql shared extension for php
php5-pdo_sqlite-5.3.3_2 The pdo_sqlite shared extension for php
php5-posix-5.3.3_2  The posix shared extension for php
php5-session-5.3.3_2 The session shared extension for php
php5-simplexml-5.3.3_2 The simplexml shared extension for php
php5-snmp-5.3.3_2   The snmp shared extension for php
php5-soap-5.3.3_2   The soap shared extension for php
php5-sockets-5.3.3_2 The sockets shared extension for php
php5-sqlite-5.3.3_2 The sqlite shared extension for php
php5-tokenizer-5.3.3_2 The tokenizer shared extension for php
php5-xml-5.3.3_2    The xml shared extension for php
php5-xmlreader-5.3.3_2 The xmlreader shared extension for php
php5-xmlwriter-5.3.3_2 The xmlwriter shared extension for php
php5-zip-5.3.3_2    The zip shared extension for php
php5-zlib-5.3.3_2   The zlib shared extension for php

Será que falta algo?


Eu já varei a noute, e não estou conseguindo pesar direito.

O conserto que fiz, e depois disto parou de dar erro neste lugar, foi:

Arquivo libraries/database_interface.lib.php, por volta da linha 1050

Antes:

    // get requested row
    for ($i = 0; $i <= $row_number; $i++) {
        $row = $fetch_function($result);
    }
    PMA_DBI_free_result($result);

Depois:

    // get requested row
    // Consertado por Joao Rocha na madrugada de 05/11/2010.
    //for ($i = 0; $i <= $row_number; $i++) {
    for ($i = 0; $i < $row_number; $i++) {
        $row = $fetch_function($result);
    }
    PMA_DBI_free_result($result);

O erro acontecia na fetch_function(). Ele tentava acessar algo, mesmo com
o row_number sendo zero. então core dump.


Abraços,
    João Rocha.


PS: Vou tentar descansar um pouco agora.




-- 
"Sempre se apanha mais com as menores besteiras. Experiência própria."

http://jgoffredo.blogspot.com
goffredo at gmail.com


Mais detalhes sobre a lista de discussão freebsd