安装后使用探针进行PHPINFO测试的时候。发现默认的localhost不能连接MariaDB数据库,但是通过127.0.0.1又可以连接。表示很郁闷。最初想到的是:是不是linux服务器上的hosts文件问题。
于是就 echo “127.0.0.1 localhost”>>/etc/hosts && sync
结果还是一样,localhost无法连接127.0.0.1可以连接。
在网上看到有朋友说是selinux的问题,但,一般系统安装好了后我都是已经将selinux 设置为permissive 模式的。于是有进一步设置 为disabled模式。结果也是一样。
最后发现是PHP和MySQL之间的关系,我们只要修改PHP.INI的配置就可以了。
默认编译安装的php.ini配置文件里不会指定 mysqld.sock 文件地址,而其便从默认以为的在/var/run/mysqld/mysqld.sock 进行查找。而编译安装的MariaDB 安装的时候将mysqld.sock文件制定在/usr/local/mysql/tmp目录下。而PHP通过localhost连接mysql的时候恰恰又是要使用mysqld.sock的方式进行连接。因此,上面问题的出现我们就清楚来路的。
下面我们通过查看本机的mysqld.sock文件具体存放位置,将其写入php.ini的配置里面就ok了。
最保守的方法就是先执行 sync 命令进行数据写入。然后重启apache2服务器。一般来说,不用执行这两个命令也行的。本人已经直接使用,不能再做测试。
时间: 2024-09-20 12:37:24