我正在尝试将一些 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/