我正在运行MacOSX 10.10.5。我正在使用自制的MySQL安装和php的默认安装。
当我以自己的用户身份运行php -i
时,我得到mysql*.default_socket
的以下输出:
mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
mysqli.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
pdo_mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
default_socket_timeout => 60 => 60
这是不正确的;我的mysql
设置会在/tmp/mysql.sock
创建套接字。但当我切换到root用户(通过sudo su
)时,我得到php -i
的输出:
mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock
mysqli.default_socket => /tmp/mysql.sock => /tmp/mysql.sock
pdo_mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
default_socket_timeout => 60 => 60
我的/etc/php.ini
设置了这些值:
default_socket_timeout = 60
pdo_mysql.default_socket=
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
显然,当我root
时,php正在从/etc/php.ini
中选择值。否则,事实并非如此。我已使用php --ini
确认了这一点。 如何让PHP始终从/etc/php.ini
获取配置值?