Mac OS Snow Leopard: ¿Por qué mi valor mysql.default_socket no cambia en mi página phpinfo()?

Mac OS Snow Leopard: ¿Por qué mi valor mysql.default_socket no cambia en mi página phpinfo()?

Recibo errores cada vez que intento conectarme localmente a mySQL en Mac OS Snow Leopard 10.6.4. Estoy ejecutando MySQL 5.1.46. Puedo iniciar sesión usando la consola. Estoy ejecutando PHP 5.3.2 y mi phpinfo()página funciona bien. Así que tengo PHP ejecutándose, puedo iniciar sesión en el servidor MySQL usando tanto la consola como Sequel Pro.

Entonces sospeché que era un problema de enchufe. En mi directorio/etc, no tengo php.ini, tengo php.ini.default. Así que entro allí y en cada lugar donde veo "default_socket" lo cambio de:

/var/mysql/mysql.sock

a:

/tmp/mysql.sock

Lo veo en las siguientes ubicaciones:

pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

Y cuando voy a conectarme a phpMyAdmin, aparece el siguiente error: No se puede iniciar la sesión sin errores, verifique los errores indicados en su PHP y/o archivo de registro del servidor web y configure su instalación de PHP correctamente.

Y cuando miro mi phpinfo()archivo, obtengo lo siguiente en mySQL:

mysql.default_socket /var/mysql/mysql.sock /var/mysql/mysql.sock

Reinicio Apache... diablos, reinicio toda la computadora. Aún nada. Sé que MySQL está funcionando, sé que PHP está funcionando, pero no logro que hablen.

¿Alguna ayuda?

Respuesta1

PHP debería buscar un archivo php.ini (y no php.ini.default) para cargar, así que intente cambiar el nombre de php.ini.default a php.ini. VerInstale Apache/PHP/MySQL en Snow Leopard.

Respuesta2

Si no quieres perder el tiempo con las configuraciones de mysql o php, configura este truco:

mkdir/var/mysql

ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Esto crea un alias en la ubicación que PHP busca y que se conecta al mysql.sock real.

Respuesta3

Traiga mysql.sock a PHP

Un problema que ha surgido con MySQL y Leopard es la ubicación del archivo mysql.sock. Anteriormente, la ubicación predeterminada para este archivo estaba en el directorio /tmp. Esa ubicación ahora se ha movido al directorio /var/mysql. PHP lo buscará allí. Desafortunadamente, la ubicación predeterminada de MySQL aún lo ubicará en la ubicación anterior. Podemos solucionar este problema creando un archivo de configuración my.cnf en el directorio /etc. Guarde un archivo con el siguiente contenido en /etc/my.cnf:

[cliente] socket = /var/mysql/mysql.sock

[mysqld] socket = /var/mysql/mysql.sock

En la ventana de la terminal, escriba los siguientes comandos para crear el directorio para el archivo sock:

sudo mkdir /var/mysql sudo chown _mysql /var/mysql

Fuente:http://www.procata.com/blog/archives/2007/10/28/working-with-php-5-in-mac-os-x-105/

Respuesta4

Hice lo siguiente para resolver el problema (Mac OS x):

1.) Primero vaya a su webroot de Apache (ruta disponible desde /etc/apache2/httpd.conf -> DocumentRoot). Para mí fue /Biblioteca/ServidorWeb/Documentos/

1.1) Cree un showphpconfig.php en esa ubicación

2.) Vaya y visite este archivo en su navegador:http://127.0.0.1/showphpconfig.php

Esto le mostrará qué archivo de configuración está usando su servidor Apache.

Para mi estaba usando/private/etc/php.ini

También vi que php estaba usando el archivo sock mysql de/var/mysql/mysql.sock

3.) Hice una copia del archivo php.ini. Ábrelo y busca todas las líneas que tienen mysql.sock.

copie esas líneas y cree una nueva entrada, como a continuación:

;pdo_mysql.default_socket=/var/mysql/mysql.sock
pdo_mysql.default_socket=/tmp/mysql.sock

DIABLILLOel ";" delante de la primera línea, es decir comentando la primera línea.
Debería haber alrededor de 4 líneas de este tipo.

Ahora le ha dicho a php que el archivo de socket mysql está realmente presente en la carpeta /tmp

4.) reinicie su servidor apache -apachectl restart

Y deberías ver la pantalla de configuración de WordPress.

información relacionada