Não tenho certeza de postar no fórum StackExchange correto. Se não, me avise!
Ambiente de trabalho:
- OpenSUSE Salto 15.4
- MariaDB: mariadb Ver 15.1 Distribuição 10.7.7-MariaDB
- PHP 8.0.25 (cli) (construído: 31 de outubro de 2022 12:00:00) (NTS)
Baseado em phpinfo(), o arquivo PHP ini é: /etc/php8/cli/php.ini
.
phpMyAdmin 5.1 está funcionando bem. O diretório de instalação é: /usr/share/phpMyAdmin
(diretório padrão criado durante a instalaçãoatravés da zypper install phpMyAdmin
comando). A opção "famosa" $cfg['Servers'][$i]['host']
do /etc/phpMyAdmin/config.inc.php
arquivo está definida como localhost
(e funciona!).
Em seguida, atualizei a versão do phpMyAdmin desta forma:
srv-bla:~ # mv /usr/share/phpMyAdmin /usr/share/phpMyAdmin.old
srv-bla:~ # mkdir /usr/share/phpMyAdmin
srv-bla:~ # wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.tar.gz
srv-bla:~ # tar -xzf phpMyAdmin-5.2.0-all-languages.tar.gz
srv-bla:~ # mv phpMyAdmin-5.2.0-all-languages/* /usr/share/phpMyAdmin/
Em seguida, reinicio os daemons e testo a conexão:
srv-bla:~ # systemctl restart mysqld mariadb apache2
A página de conexão está aparecendo corretamente. Em seguida, insiro minhas credenciais e recebo esta mensagem sangrenta:
Impossível conectar ao servidor. mysqli::real_connect(): (HY000/2002): Arquivo ou diretório não encontrado
Eu vaguei por um tempo em várias páginas da web. Muitos deles sugerem modificar o config.inc.php
arquivo e definir $cfg['Servers'][$i]['host']
a opção 127.0.0.1
em vez de localhost
. Infelizmente,isso não resolve o problema para mim ...
Estou editando o config.inc.php
arquivo certo? Na verdade, só consigo encontrar um no servidor:
srv-bla:~ # updatedb
srv-bla:~ # locate config.inc.php
/etc/phpMyAdmin/config.inc.php
/etc/phpMyAdmin/config.inc.php.rpmnew
/etc/phpMyAdmin/config.inc.php.rpmsave
Os logs do Apache também não são amigáveis. Os logs de acesso retornam apenas 200 códigos, o que me parece normal (a página do phpMyAdmin é veiculada corretamente). Os logs de erros estão vazios... Os logs do MySQL também estão vazios ( /var/log/mysql/mysqld.log
).
Ou, claro, verifiquei se o mysqld
serviço (igual ao mariadb
serviço) está em execução.
Qualquer ajuda ou ideias seriam muito apreciadas!
EDITAR
O arquivo de soquete do ponto de vista do MariaDB é:
srv-bla:~ # mariadb -u root -p
Enter password:
MariaDB [(none)]> \s
[...]
UNIX socket: /var/lib/mysql/mysql.sock
[...]
O arquivo php.ini é configurado da mesma forma:
srv-bla:~ # cat /etc/php8/cli/php.ini | grep mysqli.default_socket
mysqli.default_socket = /var/lib/mysql/mysql.sock
Para mim, não há problema de soquete ...
Responder1
Solução para mim:
O arquivo de configuração do PHP retornado pelo php -r 'phpinfo();'
comando em um terminal é /etc/php8/cli/php.ini
.
O arquivo de configuração PHP retornado pelophpinfo()função chamada com um URL comohttp://myserver.fr/phpinfo.phpé /etc/php8/apache2/php.ini
.
Modifiquei a linha mysqli.default_socket = /var/lib/mysql/mysql.sock
neste outro arquivo de configuração e consegui chamar novamente o phpMyAdmin com sucesso. Observe que foi necessário esvaziar o cache do navegador!
Obrigado pela ajuda e espero que isso ajude outras pessoas!