2010-09-15 33 views
3

我无法通过php连接到mysql。它在PHP中执行mysql_connect()函数时,会在apache错误日志中产生[error] [client 127.0.0.1] PHP Warning: mysql_connect(): No such file or directory错误消息。无法从PHP连接到MySQL:“mysql_connect():没有这样的文件或目录”

$ php -m | grep mysql 
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/msql.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/msql.so, 9): image not found in Unknown on line 0 
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/php_mysql.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/php_mysql.dll, 9): image not found in Unknown on line 0 
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/php_mysqli.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/php_mysqli.dll, 9): image not found in Unknown on line 0 
mysql 
mysqli 
mysqlnd 
pdo_mysql 

$ mysqladmin -h `hostname` --port=3306 version 
/usr/local/mysql/bin/mysqladmin: connect to server at 'heapzero.local' failederror: 'Host '192.168.1.36' is not allowed to connect to this MySQL server' 

PHP版本:

$ php --version 
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/msql.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/msql.so, 9): image not found in Unknown on line 0 
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/php_mysql.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/php_mysql.dll, 9): image not found in Unknown on line 0 
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/php_mysqli.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/php_mysqli.dll, 9): image not found in Unknown on line 0 
PHP 5.3.2 (cli) (built: Aug 7 2010 00:04:41) 
Copyright (c) 1997-2010 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 

的MySQL版本:

运行php -m命令时,请找到相应的警告信息

mysql --version 
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.1.50, for apple-darwin10.3.0 (i386) using readline 5.1 

我花了很多时间试图解决这个问题。请建议!谢谢!

+0

@heapzero - 这可能是更好的问堆栈溢出。我正在投票决定将其迁移到那里,请不要转贴,如果其他人同意迁移,应该转移。 – JNK 2010-09-15 12:54:51

+0

这是什么确切的平台?你是如何安装MySQL的? '$ mysqladmin -h \'主机名\'--port = 3306版本'在我的Snow Leopard上可以正常工作,但我看起来MySQL的版本低于你(5.0.51),尽管我最近OSX(10.6.4)。 – 2010-09-15 15:50:46

回答

7

如果您使用的是Mac OS X Lion中,尝试改变服务器/主机名到IP地址来代替。
示例:代替localhost,在PHP代码中使用127.0.0.1

+0

在使用lampp时,它也发生在我身上,它看起来和lampp使用的Unix套接字有冲突,而分发mysql使用的套接字 – 2014-10-03 06:05:48

相关问题