用PHP连接到MySQL数据库通常不是一件容易的事,实际上,这是许多教程首先要做的事情之一。但是,在某些情况下,需要比标准主机,密码和用户名详细信息更多的信息。一个很好的例子是通过不同的(或至少是非标准的)套接字连接到本地MySQL服务器时。在Linux安装中,MySQL套接字的通常放置位置是/var/run/mysqld/mysqld.sock,但是某些主机可能会对此进行更改。
php.inipdo_mysql,mysql和mysqli部分中存在一个名为default_socket的文件,如果需要将PHP指向其他套接字,则应首先使用这些设置。还有一些名为MYSQL_SOCKET和MYSQLI_SOCKET的系统常量,它们由PHP在编译时使用正确指定的“ --with-mysql”设置创建。一些配置不当的主机将无法正确编译PHP或未设置这些变量,因此在尝试连接到“ localhost”时可能会遇到问题。
在阅读了一段时间后,我在互联网上发现很多关于如何创建所有这些设置以及在连接到MySQL数据库时它们如何影响PHP的困惑。如果您将“ localhost”指定为服务器名称,则将使用MYSQL_SOCKET(以及类似的MYSQLI_SOCKET)。在这种情况下,PHP通过套接字而不是通过TCP / IP进行html" target="_blank">通信。这可能仅在标准位置查找套接字文件。
我已经读到,如果mysql.default_socket指定了该设置,那么将使用该设置而不是MYSQL_SOCKET设置。我的经验是事实并非如此,而是优先使用MYSQL_SOCKET设置。如果您有任何其他经验,我将不胜感激。
尝试连接到未正确配置的本地主机时,在创建与数据库的连接时需要设置套接字位置。标准的MySQL库和新的MySQLi类在这里的工作略有不同。假设新的套接字位置是/a/random/directory/mysqld.sock,我们可以使用以下方法之一连接到数据库。
$connection = mysql_connect('localhost:3306/a/random/directory/mysqld.sock', 'username', 'password'); $mysqli = new mysqli('localhost', 'username', 'password', "", 3306, '/a/random/directory/mysqld.sock');
这看起来并不难,但是对于以前从未见过此事的人(即,我),php.net文档在此问题上有点令人困惑。
问题内容: 我已经在一个网络上的一台服务器上成功设置了启用SSL的MySQL安装,并且可以使用SSL和Linux命令行mysql客户端在不同网络上的另一台服务器上使用SSL连接到它,但是每次我尝试连接时(使用PHP 5.3) .3)我不断得到: 警告:mysqli_real_connect():(HY000 / 2026):第18行上的/var/www/html/test.php中的SSL连接错误
我无法将代码连接到sql。我正在aptana中创建一个wamp堆栈。运行时,网页仅显示: 无法连接到DB:mysql\u error()。“”;mysql_选择_db(“q4u!”)或die(“无法选择db”);echo“已连接!”! "$INSERT_sql="插入到客户(cust_Fname,cust_Lname,cust_Phone,cust_alt_phone,cust_Email,cus
问题内容: 我想创建一个非阻塞连接。像这样: 为此,我使用了另一个线程,无限循环和Linux epoll。像这样(伪代码): 如果我先运行服务器,然后运行客户端,那么一切正常。如果我先运行客户端,请稍等一会儿,再运行服务器,然后客户端将无法连接。 我究竟做错了什么?也许可以做不同的事情? 问题答案: 您应该使用以下步骤进行异步连接: 用创建套接字 开始与 如果返回值既不是也不是,则中止并返回错误
主要内容:我是该用 MySQLi ,还是 PDO?,MySQLi 和 PDO 连接 MySQL 实例,MySQLi 安装,PDO 安装,连接 MySQL,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO),关闭连接,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO)PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved) PDO (PHP D
我是相当新的和。我使用的是Mac OS Sierra预装的Apache和PHP副本。我已经下载并配置了(工作完全正常,能够使用等等)。但是,我一直在努力从连接到数据库。我有这个代码: 我已将其保存为文件,但当我尝试从浏览器打开文件时,不断出现此错误: 警告:mysqli_connect():(HY000/2002):第6行 /Users/Mahfouz/Sites/connect_prac.php
问题内容: 我在Linux上使用 --skip-networking 选项使用MySQL 。 尝试使用JDBC将基于J2EE的应用程序(使用servlet)连接到MySQL数据库。 使用 禁用* 了 --skip-networking 选项的MySQL时,我以以下方式连接到数据库: * 启用 --skip-networking 选项后,我尝试将其连接为: 但这似乎不起作用,当我尝试连接到应用程序中