php7 php.ini中没有mysql.all_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.sock

mysql.default_socket=/tmp/mysql.sock

mysqli.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.sock

mysql.default_socket=/tmp/mysql.sock

mysqli.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;

f68f2add0b68e4f9810432fce46917b7.png

相关标签:php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值