Mac OS Snow Leopard:为什么我的 mysql.default_socket 值在我的 phpinfo() 页面中没有改变?

5 mysql php osx-snow-leopard apache-2.2

每当我尝试在 Mac OS Snow Leopard 10.6.4 上本地连接到 mySQL 时,都会遇到错误。我正在运行 mySQL 5.1.46。我可以使用控制台登录。我正在运行 PHP 5.3.2,我的phpinfo()页面运行良好。所以我已经运行了 PHP,我可以使用控制台和 Sequel Pro 登录到 mySQL 服务器。

所以我怀疑是socket的问题。在我的 /etc 目录中,我没有 php.ini,我有 php.ini.default。所以我去那里,我看到“default_socket”的每个地方我都将其更改为:

/var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

到:

/tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)

我在以下位置看到它:

pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)

当我连接到 phpMyAdmin 时,出现以下错误:无法正常启动会话,请检查 PHP 和/或网络服务器日志文件中给出的错误并正确配置 PHP 安装。

当我查看我的phpinfo()文件时,我在 mySQL 下得到以下信息:

mysql.default_socket /var/mysql/mysql.sock /var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

我重新启动Apache...哎呀,我重新启动了整个计算机。依然没有。我知道 mySQL 正在运行,我知道 PHP 正在运行,但我无法让他们说话。

有什么帮助吗?

Dan*_*uis 7

PHP 应该寻找要加载的 php.ini 文件(而不是 php.ini.default),因此尝试将 php.ini.default 重命名为 php.ini。请参阅在 Snow Leopard 上安装 Apache/PHP/MySQL


小智 5

如果您不想为 mysql 或 php 设置配置,那么设置这个 hack:

mkdir /var/mysql

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

这会在 PHP 正在寻找的连接到真实 mysql.sock 的位置创建一个别名。


Lek*_*eyn 0

它不一定是与套接字相关的问题。尝试从简单的 PHP 脚本连接到 MySQL:

<?php
error_reporting(E_ALL);
mysql_connect('localhost', 'user', 'pass') or die(mysql_error());
echo 'No errors';
?>
Run Code Online (Sandbox Code Playgroud)

对于您的 PHP.ini 路径,请查找phpinfo();“加载的配置文件”。它不必位于/etc/php.ini.default