php - 如何设置PDO默认主机?

标签 php mysql pdo mysqli php-ini

我正在尝试将一些 PHP 代码从 Mysqli 转换为 PDO,并且我需要能够为 PDO MySQL 连接设置默认主机(在我的应用程序代码之外)。

使用 Mysqli,我可以通过 php.ini 设置来做到这一点:

mysqli.default_host = ip.of.mysql.server

然后连接:

$link = mysqli_connect(null,  USERNAME,  PASSWORD, DATABASE);

它对我们来说非常有效。


PDO 的等效代码:

$link = new PDO('mysql:dbname=' . DATABASE, USERNAME, PASSWORD);

工作方式不同。只要我的 MySQL 服务器位于本地主机上,它就可以工作。事实并非如此。我有一台单独的机器托管我的 MySQL 服务器。

是否有等效的 php.ini 设置可以完成我对 PDO 的需求?我发现的最接近的是 pdo_mysql.default_socket设置,但我认为这不会做到这一点。

最佳答案

根据PDO documentation, you can set pdo.dsn php.ini 中的别名。

在 php.ini 中:

pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"

在 PHP 中:

$dbh = new PDO('mydb', $user, $password);

或者,您可以使用主机并更改主机文件中的 IP 地址。那是在应用程序代码之外。

关于php - 如何设置PDO默认主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418936/

相关文章:

php - 没有得到显示昨天日期的正确日期

php - 使用表单和 mysql 进行动态项目数据管理

javascript - 如何向一个 PHP 文件发送多个 AJAX 请求?

php - 添加新行时,mysql 表中的主索引是否自动具有值?

php - 我有一个记录 ID 需要选择才能更新

php - 在 where 子句中将经过净化的输入作为列名传递

php - 如何在不发生内存崩溃的情况下将大块存储到 json 文件中?

PHP 对来自 Aurora MySQL 的 JSON 编码数据失败

mysql - 查询中包含范围内所有日期的 where 子句

mysql - 使用排序规则 utf8_unicode_ci 限制索引列的 VARCHAR 长度的必要性