[英]mysql_connect timing out
我试图在Mac 10.6计算机上设置一个PHP框架,由于数据库连接问题,它在安装过程中始终出错。 因此,我整理了一个小的php脚本,看看我自己是否可以连接到服务器,但也不能。 操作超时。
但是,我能够从命令行完美地登录到mysql。 只有PHP出现了这些连接问题。 有人有什么想法吗?
这是脚本。
<?php
$connection = mysql_connect("http://localhost", "root", "");
if( $connection ) {
mysql_close( $connection );
die('TRUE');
}else {
die('Could not connect: ' . mysql_error());
}
?>
编辑:我尝试删除http://,但随后出现“没有此类文件错误”。
PHP Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in /Users/newuser/Downloads/t.php on line 2
PHP Warning: mysql_connect(): No such file or directory in /Users/newuser/Downloads/t.php on line 2
Could not connect: No such file or directory
您正在使用此:
mysql_connect("http://localhost", "root", "");
但是您的MySQL主机不是http://localhost
:可能是localhost
。
尝试使用以下方法删除该http://
:
mysql_connect("localhost", "root", "");
附带说明:即使在开发平台上,使用root帐户也不是一个好习惯。
在评论后编辑:在这种情况下,请尝试使用127.0.0.1
( localhost
的IP地址)
而且,如果您确实要使用Unix套接字,则必须查找MySQL服务器使用的套接字(应在其配置中指出) ; 例如,在我的/etc/mysql/my.cnf
,我有:
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
然后,您将希望PHP使用相同的代码:
mysql.default_socket
指令, mysql_connect()
,例如':/path/to/socket'
从mysql_connect参数中删除“ http://”。 它需要一个主机,而不是HTTP URL。
删除http://
并仅使用主机名localhost
。
使用“ 127.0.0.1”,它将强制使用由套接字插入的TCP4。
如果要使用套接字,根据本文档 ,Mac OS X上的默认套接字为:
/tmp/mysql.sock
如果要将此设置为默认值,则应编辑php配置文件或具有以下文件的.htaccess文件:
php_value mysql.default_socket "/tmp/mysql.sock"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.