最新在用php开发我的个人网页,刚接触,效率很慢,各种问题都需要学习.比如如何获得当前时间这么简单的问题也要谷歌一下.
在使用Codeigniter操作数据库的时候报错Unable to connect to your database server using the provided settings.在网上找了一下,可能会有很多情况出现这个问题,先要问题的真正原因.找到一个打印详细原因的办法.在config/的后面添加下面的代码:
echo '<pre>';
print_r($db['default']);
echo '</pre>';
echo 'Trying to connect to database: ' .$db['default']['database'];
$dbh=mysql_connect
(
$db['default']['hostname'],
$db['default']['username'],
$db['default']['password'])
or die('Cannot connect to the database because: ' . mysql_error());
mysql_select_db ($db['default']['database']);
echo '<br /> Connected OK:' ;
die( 'file: ' .__FILE__ . '--> Line: ' .__LINE__);
再次访问的时候就出打印出详细错误:No such file or directory!
找到了一篇文章:./1642678/1229555
这里记录一下:
-
首先确定是
mysql_connect()
和mysql_pconnect()
的问题,故障现象就是函数返回空,而mysql_error()
返回“No such file or directory”。 -
写个phpinfo页面,找到
mysql.default_socket
、mysqli.default_socket
、pdo_mysql.default_socket
。 -
启动mysql,执行命令 STATUS; 记下UNIX socket的值。
-
如果2和3的值不一样,则打开(可以从phpinfo页面中找到的位置,默认是
/private/etc/
),将2中提到的三个配置项的值改成3的值。 -
重启apache。