我正在尝试在 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'
关于php - mysql_connect 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5197322/