您好,欢迎访问一九零五行业门户网

php7的配置文件里没有mysql.default_socket吗?

[更新]刚刚查文档注意到,php7已经不支持mysql扩展了,但是我应该怎么解决只能用127.0.0.1链接,不能使用localhost链接的问题呢?
…………………………………………………………………………………………
为什么会有这个问题呢?
我写了一个php脚本来链接数据库,代码如下,当如果mysql的地址是127.0.0.1,则能够能够链接,如果地址换成localhost,则提示`php warning: mysqli::mysqli(): (hy000/2002): no such file or directory in /home/wwwroot/default/cenyu/goitems/goitems/connect_mysql.php on line 9
`
$mysqli = new mysqli(127.0.0.1, root, root, wordpress);if (mysqli_connect_errno()) { echo 'error: could not connect to database. please try again later.'; echo \n; exit;}else{ echo connect! \n;}$sql = select * from wp_amz_key;;$result = $mysqli->query($sql);/* close connection */$mysqli->close();

然后我搜索了一些解决方法,主要是修改php.ini的配置文件里这三个选项的值
pdo_mysql.default_socket=/tmp/mysql.sockmysql.default_socket=/tmp/mysql.sockmysqli.default_socket = /tmp/mysql.sock

然后我的问题就出现了:
我的ubuntu上使用的是php7,通过phpinfo查到php.ini的文件,打开之后,没有mysql.default_socket
参数,只有其他两个,然后我又查看版本的php.ini发现是有mysql.default_socket,所以请问php7的配置文件里没有mysql.default_socket吗?
所以,我的问题是:
1.脚本中链接数据库出现问题,是不是可以通过这种方法解决?
2.php7中的php.ini配置文件是不是没有mysql.default_socket,还是我安装的有问题?
先谢谢大神
回复内容: [更新]刚刚查文档注意到,php7已经不支持mysql扩展了,但是我应该怎么解决只能用127.0.0.1链接,不能使用localhost链接的问题呢?
…………………………………………………………………………………………
为什么会有这个问题呢?
我写了一个php脚本来链接数据库,代码如下,当如果mysql的地址是127.0.0.1,则能够能够链接,如果地址换成localhost,则提示`php warning: mysqli::mysqli(): (hy000/2002): no such file or directory in /home/wwwroot/default/cenyu/goitems/goitems/connect_mysql.php on line 9
`
$mysqli = new mysqli(127.0.0.1, root, root, wordpress);if (mysqli_connect_errno()) { echo 'error: could not connect to database. please try again later.'; echo \n; exit;}else{ echo connect! \n;}$sql = select * from wp_amz_key;;$result = $mysqli->query($sql);/* close connection */$mysqli->close();

然后我搜索了一些解决方法,主要是修改php.ini的配置文件里这三个选项的值
pdo_mysql.default_socket=/tmp/mysql.sockmysql.default_socket=/tmp/mysql.sockmysqli.default_socket = /tmp/mysql.sock

然后我的问题就出现了:
我的ubuntu上使用的是php7,通过phpinfo查到php.ini的文件,打开之后,没有mysql.default_socket
参数,只有其他两个,然后我又查看版本的php.ini发现是有mysql.default_socket,所以请问php7的配置文件里没有mysql.default_socket吗?
所以,我的问题是:
1.脚本中链接数据库出现问题,是不是可以通过这种方法解决?
2.php7中的php.ini配置文件是不是没有mysql.default_socket,还是我安装的有问题?
先谢谢大神
没有 mysql.default_socket
但是有 mysqli.default_socket 和 pdo_mysql.default_socket
因为有mysqli所以php7不再支持老旧的mysql扩展.
不过我们通常是通过ip和端口连接mysql,这种情况下并不需要指定什么default_socket.
直接 $db = new mysqli('127.0.0.1','root','pass','mysql',3306);不就行了.
就算你要通过socket连接mysql,同样也可以在连接时指定:
$db = new mysqli(null,'root','pass','mysql',null,'/path/to/mysqld.sock');
所以并不需要纠结任何事情.
都在本地的话,用socket和用ip地址并没有什么区别。
1、检查mysql配置文件my.conf中是否有一行bind-address = 127.0.0.1,如果有的话加#注释或者删掉重启mysql
2、查看mysql的账号允许链接的主机是否限制为127.0.0.1了
select user, host from mysql.user;
其它类似信息

推荐信息