Pilha do Nginx / PHP / MariaDB / PHP-FPM do OpenBSD

1

Eu tenho uma instalação mínima do OpenBSD 5.7 amd64 no VMware, onde eu instalei versões correspondentes do PHP e do PHP-FPM, além de nginx e mariadb usando pkg_add . Eu configuro todos os serviços, e obtenho o nginx para analisar HTML através do PHP-FPM, e está tudo bem, até que eu tento me conectar ao MariaDB. Não se conecta ao MySQL / MariaDB. Eu tentei três diferentes CMSs PHP usando credenciais corretas, e cada um dá o seguinte erro:

Aviso: mysql_connect (): Não é possível conectar-se ao servidor MySQL local por meio do socket Aviso: mysql_connect (): Não é possível conectar-se ao servidor MySQL local por meio do soquete /var/run/mysql/mysql.sock (62 "Too many levels of symbolic links") in /htdocs/index.php on line 5

Isso é depois de fazer isso

mkdir -p /var/www/var/run/
ln -s /var/run/mysql /var/www/var/run/mysql

O que no mundo é o problema aqui? Eu tentei quatro tutoriais diferentes, e simplesmente não consigo fazer com que PHP e MySQL funcionem uns com os outros. Mesmo que eu esteja certo que o MySQL está rodando, eu posso usar o mysql -p -u ... para se conectar muito bem ao servidor.

Por favor ajude.

EDITAR:

# ls -al /var/run/mysql /var/www/var/run/mysql
lrwxr-xr-x  1 root  daemon  14 May  5 11:07 /var/www/var/run/mysql -> /var/run/mysql

/var/run/mysql:
total 8
drwx--x--x  2 _mysql  _mysql  512 May  5 11:01 .
drwxr-xr-x  4 root    wheel   512 May  5 11:06 ..
srwxrwxrwx  1 _mysql  _mysql    0 May  5 11:01 mysql.sock
#
    
por David 05.05.2015 / 18:17

2 respostas

4

Seu /var/www/var/run/mysql aponta para /var/run/mysql . Pela estrutura de diretórios eu presumo, você está chrooting seu apache / php em /var/www . Provavelmente é um padrão do OpenBSD.

Quando chrooted into /var/www , seu link se torna /var/run/mysql -> /var/run/mysql , o que é um loop infinito.

Você precisa fornecer um soquete dentro do chroot, usando a opção de configuração socket , ou usar conexões TCP.

Edit: Só por falar nisso, se você não está acostumado a trabalhar com o OpenBSD, você provavelmente não deve usá-lo para produção. Você provavelmente não ficará mais seguro do que com um sistema / distribuição que você conhece bem.

    
por 05.05.2015 / 20:24
-1

Eu tenho um problema semelhante. Ao fazer um netstat -an |grep 3306 , ele retorna

tcp6         0      0  *.3306                 *.*                    LISTEN

Configurar o localhost para ":: 1" no script php "resolve" o problema. Parece estranho, mas pode ser uma sugestão para você.

    
por 25.05.2015 / 09:05